[20131122]奇怪的死锁
发布日期:2021-11-11 09:16:10 浏览次数:1 分类:技术文章

本文共 1613 字,大约阅读时间需要 5 分钟。

死锁的奇怪的地方:死锁设计到的表示heap表,但是对key发生死锁,但是对key进行等待,死锁设计到的hotbid,无法再sys.partitions查询到objectid(这个误判是我们有索引的重建,导致hotbid变化,无法再表中查找到)

问题是出现在一个非聚集索引上,这个索引是key是uame,是走索引的,为什么和insert死锁呢

线索:表中delete的where 字段,参数化传进来使用的是nvarchar,但是表中却是使用varchar

死锁信息:

(@Name nvarchar(4000))delete from [a] where Uame=@Name
(@Time datetime,@ID int,@Gre int,@OerID int,@rID uniqueidentifier,@RUD nvarchar(4000),@Uame nvarchar(4000))INSERT INTO [a]([a],[CID],[rNe],[AddTime],[Gere],[RID],[OID]) VALUES(@ProduByUserID,@ClID,@Usame,@Adme,@Gee,@RD,@OID)

原因:

  目前还没找到原因但是估计和nvarchar 和 varchar 的隐式类型转化有关  

  大概问题我已经发现了,虽然delete 是走索引的,但是在计划上发现GetRangeThroughConvert 对类型进行转化,转后后,出来3个计算标量,

  然后再索引查找的时候对最小的,最大的标量进行 查找 就是 标量1<uame<标量3,这样导致delete 查找的范围扩大,导致和insert之间的锁请求冲突

其他资料:

  资料包括:表结构,和delete 的执行计划,如果有兴趣研究在资料方面我会尽力,按需求补全

  涉及到公司的一些表结构,不方便在公共场合透露,如果有朋友需要可以发我的邮箱索取,我的邮箱: fanzhouqi@gmail.com

posted on
2013-11-23 00:06  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/Amaranthus/p/3438492.html

转载地址:https://blog.csdn.net/dida4700/article/details/101644471 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SQL Server 2014 新特性——内存数据库
下一篇:评估插入会增长的页级空间

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月17日 04时57分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java最小化窗体_JAVA窗体最大化最小化控制+托盘 2019-04-21
java 注解 数组默认值_Java注解默认值 2019-04-21
java流程语句_Java流程控制语句 2019-04-21
java require_java正则中的requireEnd和hitEnd 2019-04-21
400错误java_java代码转化成c#代码 报400错误 2019-04-21
java常见对象_Java 常见对象 02 2019-04-21
spring java配置_Spring Java配置要点 2019-04-21
共享内存 java_java - Java客户端-服务器编程:客户端之间的共享内存 - 堆栈内存溢出... 2019-04-21
java布局管理器空布局_Java图形化界面设计——布局管理器之null布局(空布局)... 2019-04-21
java gas station_LeetCode – 774. Minimize Max Distance to Gas Station 2019-04-21
java项目无法加载到tomcat_eclipse+tomcat添加项目进来无法启动tomcat 2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串] 2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】 2019-04-21
java基金管理系统_【Java GUI】Java GUI基金会 2019-04-21
estore java_estore2 - WEB源码|JSP源码/Java|源代码 - 源码中国 2019-04-21
Java中用switch构造数组_javase(四舍五入、switch、length、构造器、重载与重写)... 2019-04-21
docker 部署java_docker 部署java环境以及常用应用(持续更新) 2019-04-21
jpmml导出java文件_JPMML解析PMML模型并导入数据进行分析生成结果 2019-04-21
java如何做表单校验_微信小程序实现表单校验功能 2019-04-21
php类里面调用函数吗,从PHP类中的另一个函数调用一个函数 2019-04-21