首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于mysql数据库使用innoDB引擎产生的死锁

    在继我上一次一条select语句导致数据库飙升,到这一次一条select 语句导致数据库直接挂掉(当然这一次并不是我做的,绩效自动降一级)一直想了解到底是怎么回事,这几天开始看mysql内幕,个人感觉很不错的一本书。 在此我大概描述一下innoDB 中的锁: 标准的行级锁 1. X锁 (排他锁)允许事物读一行数据 2. S锁 (共享锁)允许事物更改或更新一行数据 当有一条数据事T1 读取会加上一个S锁,当另一个事物也想获取S锁进行读取是允许的,因为读取是对数据没有改变的。但是如果有一个事物T3要对数据进行UPdate 这个时候他需要一个S锁,由于他要更改这个数据所以说他需要等待X锁释放掉 也就是说等查询事物走完了才可以执行X锁的这个事物 在innoDB 中还有一个表级锁那就是intention lock,意向锁 IX (意向排他锁): 当有一个事物想要获取行级锁的X锁的时候,那你就必须要先获取一个IX锁 表明你接下来想要去获取X锁。 IS (意向共享锁):同上当你需要获取行级别的S锁,那么你就得先去表级别获取IS锁 关于锁之间的兼容关系

    03
    领券