MySQL 并发 replace into 导致 insert intention 与 gap lock 形成死锁
10其乐融融 发布于 2024/04/07 01:33:06
online ddl 不会导致死锁,两者最大的区别是 pt-osc 执行 DDL 时产生的主从延迟小,原因是 online ddl 是在主库执行完成后从库开始执行,因此天然存在延迟。
阅读()评论(0)赞 ()
其乐融融 发布于 2024/04/07 01:33:06
online ddl 不会导致死锁,两者最大的区别是 pt-osc 执行 DDL 时产生的主从延迟小,原因是 online ddl 是在主库执行完成后从库开始执行,因此天然存在延迟。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/11/12 01:33:10
由于sql执行较快,直接执行上面两个事务中的sql可能不会产生死锁的情况,我们可以稍做修改,也就在UPDATE语句后面加上SLEEP函数,SLEEP会让当前进程暂停执行指定的时间(单位为秒)。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/11/10 01:33:13
由于sql执行较快,直接执行上面两个事务中的sql可能不会产生死锁的情况,我们可以稍做修改,也就在UPDATE语句后面加上SLEEP函数,SLEEP会让当前进程暂停执行指定的时间(单位为秒)。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/10/26 01:33:38
按照消除死锁条件的思路,一般会想到将两个线程里的加锁顺序改为一致,但是此场景并不完全适用。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/09/22 03:20:18
按照消除死锁条件的思路,一般会想到将两个线程里的加锁顺序改为一致,但是此场景并不完全适用。
阅读()评论(0)赞 ()
其乐融融 发布于 2023/06/20 03:10:56
本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。
阅读()评论(0)赞 ()