1)聚簇索引(查询命中) UPDATE students SET score = 100 WHERE id = 15; RC、RR都是对聚簇索引加X锁。 2)聚簇索引(查询未命中) UPDATE students SET score = 100 WHERE id = 16; C不加锁,RR在16之前和之后的范围里加GAP锁。 3)二级唯一索引(查询命中) UPDATE students SET score = 100 WHERE no = 'S0003'; RC、RR会对二级和聚簇索引都加X锁(防止其他事务通过聚簇改数据)。 4)二级唯一索引(查询未命中) UPDATE students SET score = 100 WHERE no = 'S0008';RC不加锁,RR只在二级索引加GAP。 5)二级非唯一索引(查询命中) UPDATE students SET score = 100 WHERE name = 'Tom'; RC对二级和聚簇加X锁,RR对二级加X锁和Gap对聚簇加X锁。 6)二级非唯一索引(查询未命中) UPDATE students SET score = 100 WHERE name = 'John'; RC不加锁,RR只在二级索引加GAP。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。