### 15.12.4 在线 DDL 内存管理

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

在 MySQL 8.0.27 之前，[`innodb_sort_buffer_size`](innodb-parameters.html#sysvar_innodb_sort_buffer_size)变量定义创建或重建二级索引的在线 DDL 操作的缓冲区大小。
