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