原文英文,约700词,阅读约需3分钟。
📝
内容提要
MySQL 8.0.12引入了DDL的新算法,不会在更改表定义时阻塞表。默认算法是INSTANT,但有64次更改限制。建议始终指定算法,并监控表的即时更改次数。达到限制后需要重建表。
🎯
关键要点
-
MySQL 8.0.12引入了DDL的新算法,默认算法为INSTANT,不会阻塞表的定义更改。
-
INSTANT算法允许在不影响表数据的情况下,快速修改表的元数据。
-
INSTANT DDL操作有64次更改限制,达到限制后需要重建表。
-
建议在执行DDL操作时始终指定算法,以避免意外情况。
-
可以通过INFORMATION_SCHEMA监控表的即时更改次数,帮助DBA决定何时重建表。
-
重建表可以使用OPTIMIZE TABLE或ALTER TABLE ENGINE=InnoDB命令。
❓
延伸问答
MySQL 8.0.12引入了什么新特性?
MySQL 8.0.12引入了DDL的新算法INSTANT,允许在不阻塞表的情况下快速修改表的元数据。
INSTANT算法有什么限制?
INSTANT算法允许最多进行64次即时更改,达到限制后需要重建表。
在执行DDL操作时,为什么要指定算法?
指定算法可以避免在不期望的情况下使用其他算法,从而防止潜在的生产环境问题。
如何监控表的即时更改次数?
可以通过查询INFORMATION_SCHEMA中的INNODB_TABLES来监控表的即时更改次数。
重建表的方式有哪些?
重建表可以使用OPTIMIZE TABLE或ALTER TABLE ENGINE=InnoDB命令。
使用INSTANT DDL时需要注意什么?
需要监控即时更改次数,并在达到64次限制前及时重建表。
🏷️