高并发情况下MYSQL的锁等待问题分析和解决方案
问题描述 在进行高并发性能调优的时候发现了如下的一个问题: 1. 在一个事务中同时包括了SELECT,UPDATE语句 2. SELECT和UPDATE涉及到的数据为同一张表中的同一记录 3. 在并发为10的情况下就会触发数据库锁等待和死锁的情况 问题分析 在问题分析之前引入几个概念 事务隔离级别 参考文章《事务的ACID特性》 共享锁(S锁) SELECT 语句时对查询行加的锁类型为共享锁。 共享锁的特性为:不允许其他事务对该记录加排他锁,但是允许加共享锁。 保持时间:可重复度级别中共享锁会保持到事务结束。 排他锁(X锁) MYSQL的默认隔离级别(可重复度)中,UPDATE,INSERT和
下载地址
用户评论