MySQL 8.4 Release Notes
10.5.7 InnoDB DDL操作优化
-
许多对表和索引执行的DDL操作(
CREATE
、ALTER
和DROP
语句)可以在线进行。请参阅第17.12节,“InnoDB和在线DDL”以获取详细信息。 -
对添加次级索引的在线DDL支持意味着您通常可以通过创建不带次级索引的表,然后在数据加载后添加次级索引来加速创建并加载表及其相关索引的过程。
-
使用
TRUNCATE TABLE
来清空一个表,而不是DELETE FROM
。外键约束可以使一个tbl_名
TRUNCATE
语句工作得像普通的DELETE
语句一样,在这种情况下,可能需要一系列命令,如DROP TABLE
和CREATE TABLE
,才能最快地完成操作。 -
由于主键是InnoDB表存储布局的核心部分,并且更改主键定义涉及重新组织整个表,因此始终在
CREATE TABLE
语句中设置主键,并提前规划,以确保您不需要之后对主键进行ALTER
或DROP
。