MySQL 5.7 Innodb 允许in-place就地操作,操作时可以同步执行DML,尽可能减少对业务的影响;这极大提高了繁忙生产环境的可用性;而在版本5.6的时候,许多操作基本都需要COPY表 或者 阻塞表;
DDL的时候可以用LOCK选项来协调性能和并发性之间的关系;
a, LOCK=EXCLUSIVE DDL同时拒绝其他所有操作
b, LOCK=SHARE DDL同时允许查询,但不允许写入
c, LOCK=NONE DDL同时,允许增删改查
d, LOCK=DEFAULT 或者 省略LOCK子句,InnoDB将会根据具体的DDL语句尽可能地允许并发执行;
In-Place: 表示就地修改,对原表数据直接进行修改;
Rebuilds-Table: 是否涉及到重建表的操作;
允许同步执行DML: 表示执行DDL的过程中是否允许同步执行增删改查操作;
只修改元数据: 表示该DDL是否只修改元数据,如果DDL可以只修改原元数据,那么该DDL的执行速度非常快;秒级甚至更低;