mysql加索引的时候 锁表 详解
时间: 2023-08-31 22:52:22 浏览: 168
在 MySQL 中添加索引需要对表进行修改,这个过程需要对表进行锁定,以避免其他会话对同一表的并发修改,导致数据不一致。锁定表的方式取决于表的存储引擎类型。
对于 MyISAM 存储引擎,添加索引时需要锁定整个表,阻塞其他会话的读写操作。在修改过程中,如果需要执行大量的操作,那么会导致锁定时间延长,进而影响到其他会话的正常操作。
对于 InnoDB 存储引擎,添加索引时不需要锁定整个表,而是使用“在线DDL”技术,在执行修改操作的同时允许其他会话对表进行读写操作。这种方式可以减少锁定时间,提高并发性能。
在实际应用中,需要根据表的大小和数据量来选择合适的添加索引策略,以充分利用系统资源,提高系统性能。
阅读全文