1.有t_user表,用户量大概500万,里面有几个字段和钱相关,现在由于业务需要对表中update_time添加一个索引,请问一下,直接添加索引,会导致线上t_user表锁表嘛?
1.有t_user表,用户量大概500万,里面有几个字段和钱相关,现在由于业务需要对表中update_time添加一个索引,请问一下,直接添加索引,会导致线上t_user表锁表嘛?
建索引需要先申请一个排他的MDL锁,申请到了才会降级为共享的MDL锁。所以如果有大事务一直使用这个表而不提交的话,建索引会被卡住,同时后续所有使用这个表的业务也都无法使用这个表了。
如果数据量大,建议在业务闲时创建索引
4 回答1.8k 阅读✓ 已解决
8 回答1.4k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答2.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答1.9k 阅读
1 回答985 阅读✓ 已解决
这个要看你的mysql版本。
5.6版本之后添加索引不影响读写,不会锁表