专注,勤学,慎思。戒骄戒躁,谦虚谨慎

just do it

导航

随笔分类 - 死锁

关于MySQL死锁检测机制参数innodb_deadlock_detect设置的一点思考
摘要:微信公众号中(这里)看到一个关于MySQL的innodb_deadlock_detect与并发相关的细节,觉得比较有意思,也即innodb_deadlock_detect这个参数的设置问题 死锁检测是一个MySQL Server层的自动检测机制,可以及时发现两个或者多个session间互斥资源的申请 阅读全文

posted @ 2020-04-18 12:04 MSSQL123 阅读(4529) 评论(0) 推荐(0) 编辑

追踪SQL Server执行delete操作时候不同锁申请与释放的过程
摘要:一直以为很了解sqlserver的加锁过程,在分析一些特殊情况下的死锁之后,尤其是并发单表操作发生的死锁,对于加解锁的过程,有了一些重新的认识,之前的知识还是有一些盲区在里面的。delete加锁与解锁步骤是怎么样的?什么时候对那些对象,加什么类型的琐,加锁与索引的关系是怎么样的,什么时候释放锁?整个 阅读全文

posted @ 2019-09-24 20:44 MSSQL123 阅读(1327) 评论(0) 推荐(1) 编辑

sqlserver默认隔离级别下并发批量update同一张表引起的死锁
摘要:提到死锁,最最常规的场景之一是Session1 以排它锁的方式锁定A表,请求B表,session2以排它锁的方式锁定B表,请求A表之类的,访问顺序不一致导致死锁的情况本文通过简化,测试这样一种稍显特殊的场景:对同一张表,并发update其中的多行记录引起的死锁,同时简单分析,对于update操作的加 阅读全文

posted @ 2019-05-14 23:38 MSSQL123 阅读(2666) 评论(2) 推荐(2) 编辑

SQL Server并发操作单个表时发生在page页面级的死锁
摘要:最近遇到的死锁问题都发生在并发操作单张表上,比较有意思,就模拟了重现了一下。根据非聚集索引为条件,删除某一个表的数据,类似于这么一个语句,delete from table where nocluster_index in (x,y,z,m,n……)in里面的内容不同,并发执行某些情况下,可能会引发 阅读全文

posted @ 2018-09-12 14:54 MSSQL123 阅读(992) 评论(2) 推荐(1) 编辑

基于innodb_print_all_deadlocks从errorlog中解析MySQL死锁日志
摘要:本文是说明如何获取死锁日志记录的,不是说明如何解决死锁问题的。 MySQL的死锁可以通过show engine innodb status;来查看,但是show engine innodb status;只能显示最新的一条死锁,该方式无法完全捕获到系统发生的死锁信息。如果想要记录所有的死锁日志,打开 阅读全文

posted @ 2018-07-06 13:34 MSSQL123 阅读(1666) 评论(0) 推荐(0) 编辑

SQL Server死锁诊断--同一行数据在不同索引操作下引起的死锁
摘要:死锁概述 对于数据库中出现的死锁,通俗地解释就是:不同Session(会话)持有一部分资源,并且同时相互排他性地申请对方持有的资源,然后双方都得不到自己想要的资源,从而造成的一种僵持的现象。当然,在任何一种数据库中,这种僵持的情况不会一直持续下去,因为一直持续下去双方永远都无法执行,没有任何意义,在 阅读全文

posted @ 2018-06-08 20:19 MSSQL123 阅读(2960) 评论(4) 推荐(4) 编辑