扬州建设投资集团网站,支付宝小程序开发教程,新乡模板建站,招聘系统推广哪家好在这个之前我们先来了解两种文件类型
1. .ibd文件 表数据文件#xff0c;存储了表的数据和索引信息#xff0c;从Mysql8开始表定义信息#xff0c;从.frm文件改为.dcl文件存储#xff0c;而表数据和索引信息仍然储存在.ibd文件#xff0c;.idb文件通常在书籍库目录下。
…在这个之前我们先来了解两种文件类型
1. .ibd文件 表数据文件存储了表的数据和索引信息从Mysql8开始表定义信息从.frm文件改为.dcl文件存储而表数据和索引信息仍然储存在.ibd文件.idb文件通常在书籍库目录下。
2. .frm文件 是Mysql数据库中存储库中存储表结构的文件它记录了表的结构信息包括表的字段索引触发器等信息。 Mysql的存储引擎通过读取frm文件来了解表结构
Online ddl
Online ddl 在Mysql5.6对于部分alter table 新的执行算法可以进行DDL时“并行”现有业务DML操作
目前支持主流算法有三种
COPY --MySQL 5.6之前非Online都是执行这种算法
INPACE--5.6出现
INSTANT--Mysql8.0.12出现的
首先我们先来看看COPY
DDL时生成临时新表将原表书记逐行拷贝到新表中在此期间会阻塞DMLoffline离线而非在线的。
在准备阶段全程加锁即不能写入数据也不能查询数据在执行和提交的时候容易造成数据库阻塞
INPLACE
MySQL5.6出现的新算法无需拷贝全表数据到新表但可能还是需要IN-PLACE方式重建整表
准备和提交过程加锁不能进行DML在执行过程可以进行DML因为准备和提交时间占比很少可以达到百分之九十多的Online状态。所以它几乎是Online的
Instant
只修改数据字典当中的元数据无需拷贝数据也无需重建整表原表数据也不受影响整个DDl过程几乎瞬间完成也不会阻塞DDL
Online是否即为是否允许并发DML
Copy 算法执行的 DDL肯定不是 Online 的Inplace 算法执行的 DDL 不一定是 Online 的。