该功能优化二级索引创建过程的耗时。开启该功能会使用多线程并发对二级索引数据进行外部排序,同时优化 flush bulk loading 阶段对 flush list 的加锁操作,有效降低 CREATE INDEX 的耗时和对并发 DML 的影响。
数据库经常会执行 DDL 操作,也经常会遇到 DDL 相关的问题,例如:
针对以上常见问题,TXSQL 内核团队经过多场景深入分析以及测试,优化 flush bulk loading 阶段对 flush list 的加锁操作,有效降低 CREATE INDEX 的耗时和对并发 DML 的影响,降低了 DDL 操作带来的影响。
sysbench 测试导入20亿行数据,数据量约453GB,开启 FAST DDL 功能。
mysql> set global innodb_fast_ddl=ON;
Query OK, 0 rows affected (0.00 sec)
开启前耗时4395秒,开启后耗时2455秒。
通过参数 innodb_fast_ddl 开启或关闭该功能。
参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
---|---|---|---|---|---|
innodb_fast_ddl | Yes | bool | OFF | {ON,OFF} | 开启或关闭 FAST DDL |
说明:用户目前无法直接修改以上参数的参数值,如需修改可 提交工单 进行修改。
本页内容是否解决了您的问题?