首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
问与答
关于 MySQL 死锁的疑问
ddllzz
·
2021 年 9 月 2 日
· 1328 次点击
这是一个创建于 1591 天前的主题,其中的信息可能已经有所发展或是发生改变。
不使用事务就不会出现死锁吗?
死锁
MySQL
事务
疑问
8 条回复
•
2021-09-03 01:10:10 +08:00
1
F281M6Dh8DXpD1g2
2021 年 9 月 2 日 via iPhone
你是如何做到不使用事务的?
2
Euthpic
2021 年 9 月 2 日 via Android
@
liprais
不用 innodb 咯
3
ddllzz
OP
2021 年 9 月 2 日 via Android
@
liprais
啊,没开启事务不就是不使用吗?
有些定时统计的任务,如果确保了幂等性,那即使某次统计出现偶发的异常,且没有回滚,在下一次定时任务正常执行之后,也能得到正确的数据。
现在的问题是,多线程下,没有开启事务,却偶尔会出现死锁。是不是一条更新语句,会执行很多个加锁动作,导致了死锁?
4
ddllzz
OP
2021 年 9 月 2 日 via Android
@
Euthpic
用了 InnoDB 没开启事务,也是有事务的吗
5
mikulch
2021 年 9 月 3 日
@
ddllzz
不是的,事务必须要靠你自己开启。
至于死锁的问题,理论上来说不用事务的话,确实不太可能造成死锁,除非你数据库扛不住了出现问题。
6
ddllzz
OP
2021 年 9 月 3 日 via Android
@
mikulch
嗯嗯,感谢解答
7
Euthpic
2021 年 9 月 3 日 via Android
@
ddllzz
innodb 每个提交都是以事务为单位,你写一条简单的 select 也会开隐式事务的
8
ddllzz
OP
2021 年 9 月 3 日
@
Euthpic
#7 涨知识了
关于
·
帮助文档
·
自助推广系统
·
博客
·
API
·
FAQ
·
Solana
·
2696 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms ·
UTC 07:54
·
PVG 15:54
·
LAX 23:54
·
JFK 02:54
♥ Do have faith in what you're doing.
❯