当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-MySQL 加索引会锁表吗?

金三银四精选java面试题-MySQL 加索引会锁表吗?

来源:图灵教育
时间:2023-12-05 10:26:00
 

MySQL 加索引会锁表吗?

MySQL 5.6 版本之前,添加索引时需要添加排它锁,也就是说添加索引时阻塞其他所有的读写操作

如果是大表,这可能会导致该表会长时间阻塞,影响真实业务处理,这也就是为什么以前都是凌晨进行更新操作。

MySQL 5.6 版本引入了 online dll 的技术优化该问题,online dll 允许在不阻塞其他事务的情况下创建或者删除索引。

同时 online dll 对不同的 ddl 操作支持也不同

虽然 online dll 针对锁表进行了优化,但是在执行的过程中还是会进行锁表的。只是 online dll 的锁表时间大大的减少了。

因此我们在线上执行 ddl 语句时,还是应当避免在业务高峰期执行,以避免影响正常业务处理。