sql-server - 我们如何才能在死锁图中获得 sql 查询 incovation 的原始顺序?
问题描述
sql死锁图中从左到右的顺序是否总是基于代码中遇到的sql查询的顺序?
如果没有,那我们怎么才能找到这个订单呢?例如查询 1 进来,然后查询 2 进来导致死锁。我想要一种方法来获得这个订单。
解决方案
不,没有记录死锁图中的节点是否有任何一致的顺序,但绝对不是基于“代码中遇到的sql查询的顺序”,因为它没有明确的含义。
根据定义,每个会话都获得了一个锁并且没有被阻塞,并且这些初始锁可以同时发生或以任何顺序发生。并且没有锁的全局排序,因为它们可以真正在不同的调度程序上同时发生。
推荐阅读
- multithreading - 这是 glibc/pthread 中的错误吗?
- jsp - 在 JSTL 中添加两美元金额
- scripting - Scheme中如何调用外部命令?
- powershell - 用 VS 2017.7.6 调试 Powershell 坏了?如何?
- java - Java 泛型转换为通配符规则
- java - 如何在 Google Storage 中导出 Cloud SQL 数据库的备份?
- javascript - 如何从 Javascript 中的 id 获取图像的 url
- php - 在 laravel 中选择选项搜索
- php - PHP中如何使用Cookies来统计访问量?
- c# - 时间:2019-05-10 标签:c#interopexcel创建直方图