当前位置:   article > 正文

mysql不锁表加索引_mysql 添加索引不锁表

mysql 添加索引不锁表
场景

mysql的某些表由于前期设计不周,导致数据量变大后查询/更新速度变慢。
想要加索引,线上又不能停。直接执行alter table add index会锁死整张表。

一种方式:新表替换
  • 创建与原来表结构相同的新表,加索引。
  • 把老表数据复制到新表。
  • 删除老表,重命名新表

这种比直接加索引速度要快,但仍需要停止服务。

不加锁添加索引

对于mysql 5.6以上版本数据库,提供了无锁加索引方式。

ALTER TABLE `table_name` ADD INDEX `column_name` (`column_name`),ALGORITHM=INPLACE,LOCK=NONE;
  • 1

执行此语句即可,很快就能添加好索引,且不影响线上服务。参考mysql官方文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/505144
推荐阅读
相关标签
  

闽ICP备14008679号