MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
在线DDL特性提供了对即时和就地表更改和并发DML的支持。该特性的好处包括:
在繁忙的生产环境中提高响应性和可用性,在这种环境中,使表数分钟或数小时不可用是不实际的。
方法在DDL操作期间调整性能与并发性之间平衡的能力
锁
条款。看到LOCK条款.与表复制方法相比,更少的磁盘空间使用和I/O开销。
请注意
算法=即时
支持可用于添加一列
和MySQL 8.0.12中的其他操作。
通常,您不需要做任何特殊的事情来启用在线DDL。默认情况下,MySQL在允许的情况下立即或原地执行操作,并且尽可能少地锁定。
控件可以控制DDL操作的各个方面算法
而且锁
合同条款ALTER TABLE
声明。这些子句放在语句的末尾,用逗号与表和列规范隔开。例如:
ALTER TABLEtbl_name添加主键(列),算法= inplace,锁= none;
的锁
子句可用于就地执行的操作,并用于微调操作期间对表的并发访问程度。只有锁=违约
支持立即执行的操作。的算法
子句主要用于性能比较,并在遇到任何问题时作为旧表复制行为的退步。例如:
避免在原地操作期间意外地使表无法进行读、写或两者都不可用
ALTER TABLE
方法上指定子句ALTER TABLE
语句,例如锁=没有
(允许读写)或锁=共享
(允许读取)。如果请求的并发级别不可用,操作立即停止。要比较算法之间的性能,运行带有的语句
算法=即时
,算法=原地
而且算法=复制
.方法也可以运行语句old_alter_table
的配置选项已启用,以强制使用算法=复制
.以避免将服务器与
ALTER TABLE
复制表的操作,包括算法=即时
或算法=原地
.如果不能使用指定的算法,语句将立即停止。