mysql异步后台加索引
时间: 2024-07-21 08:01:11 浏览: 177
线程池&异步 + linux + mysql
MySQL中的异步后台加索引是指在不影响数据库实时响应用户查询的情况下,对表进行索引创建、更新或删除操作的一种优化策略。这种操作通常发生在事务提交之后或者数据库空闲时间,通过将任务放入后台队列如InnoDB的Innodb_flush_log_at_trx_commit设置为0(或者OFF),MySQL可以在事务提交后立即返回,而后续的索引更改则在后台线程中逐步完成。
具体步骤如下:
1. 设置`innodb_flush_log_at_trx_commit`为0:这会让InnoDB引擎在每次提交时只刷新缓冲区到内存,而不是直接写入磁盘,从而腾出更多时间处理其他操作。
2. 执行CREATE INDEX或其他修改索引的命令:这时不会阻塞前端用户的访问。
3. 后台线程会处理这些索引更改:在下一次同步日志的时候,或在系统重启时,将这些更改持久化。
阅读全文