Documentation Home

15.12.4 在线DDL内存管理

创建或重建二级索引的在线 DDL 操作在索引创建的不同阶段分配临时缓冲区。该 innodb_ddl_buffer_size变量在 MySQL 8.0.27 中引入,定义了在线 DDL 操作的最大缓冲区大小。默认设置为 1048576 字节 (1 MB)。该设置适用于由执行在线 DDL 操作的线程创建的缓冲区。定义适当的缓冲区大小限制可避免创建或重建二级索引的在线 DDL 操作可能出现的内存不足错误。每个 DDL 线程的最大缓冲区大小是最大缓冲区大小除以 DDL 线程数 ( innodb_ddl_buffer_size/ innodb_ddl_threads)。

在 MySQL 8.0.27 之前, innodb_sort_buffer_size变量定义了创建或重建二级索引的在线 DDL 操作的缓冲区大小。