14.13 InnoDB 和在线 DDL

联机 DDL 功能为就地 table 更改和并发 DML 提供支持。此功能的优点包括:

通常,您无需执行任何特殊操作即可启用在线 DDL。默认情况下,MySQL 会在允许的情况下在适当的位置执行操作,并尽可能减少锁定。

您可以使用ALTER TABLE语句的ALGORITHMLOCK子句来控制 DDL 操作的各个方面。这些子句放在语句的末尾,用逗号将其与 table 和列的规范分隔开。例如:

ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;

LOCK子句可用于微调对 table 的并发访问程度。 ALGORITHM子句主要用于性能比较,并作为在遇到任何问题时对较早的 table 复制行为的后备。例如:

首页