update中where条件把索引的字段一定要带上,否则会全表锁
一、问题描述:innodb下在对没用含有索引的表执行修改一条操作时,会导致锁全表。为什么:InnoDB行锁是通过给索引上的索引项加锁来实现的,只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁在实际应用中,要特别注意InnoDB行锁的这一特性,不然的话,可能导致大量的锁冲突,从而影响并发性能。下面通过测试,来探讨什么情况下才会锁全表。二、测试环境数据库版本: 5.7.29-log ( select version() )隔离级
原创
2021-03-16 21:38:35 ·
2653 阅读 ·
1 评论