文章详情页
spring - mysql中事务是互斥的么?
浏览:343日期:2022-06-18 09:50:46
问题描述
分别在不同的线程调用同一个带事务的方法,那么这两个方法的执行时互斥的么,即一个方法必须要等另一个方法操作完么?
问题解答
回答1:这个取决于数据库的隔离级别。两个事务不互相影响就没有必要互斥啊。
ISO 标准定义了下列隔离级别,SQL Server 数据库引擎支持所有这些隔离级别:
未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)
已提交读(数据库引擎的默认级别)
可重复读
可序列化(隔离事务的最高级别,事务之间完全隔离)
回答2:当发生了当前读,都会对相应的行加上排它锁,并且在事务结束以后释放锁
两次操作事务有对相同的行加排它锁,其中一个线程就需要等待另外一个线程事务提交才能继续执行程序
两次操作事务并没有有对相同的行加排它锁的,两个线程相互不影响
回答3:这首先和你操作的数据有关系,如果操作的数据连个交集都没有,就是并行的,如果有交集,还跟数据库的事物隔离级别又关系,这里面东西就多了,你可以查查。
相关文章:
1. mysql - phpMyAdmin无法导入数据2. python - 用ffmpeg采集视频,用terminate没法结束进程3. 超链接里的target问题4. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果5. HTML源文件和引用文件在同一个目录里直接写引用文件名为什么还是打不开6. 网页爬虫 - python爬虫用BeautifulSoup爬取<s>元素并写入字典,但某些div下没有这一元素,导致自动写入下一条,如何解决?7. thinkphp3.2.3对接新版支付宝8. 网络爬虫 - python sys 模块 设置编码老是报错9. mysql - 数据库设计问题10. android - 安卓微信刷卡支付的DEMO
排行榜

网公网安备