双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

死锁,上图,高手进

shiyueyangfeng shiyueyangfeng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1.最近公司的服务器从SQL SERVER 2000升级到了SQL SERVER 2008,奇怪的时,之前没有出现的死锁的情况;
2.公司使用的系统是CRM系统,
2.目前用户并发数大概在30-60人以内,每天都是死锁几次,如图:


左边的图是被丢掉的事务,SQL语句是个查询,是对客户数据的一个分页查看:
Select top 100 PID,LastContactTextNew,Remark,CreateDate,CustCode,CustName From vCu_Customer Left Join Sy_Share on (vCu_Customer.PID=SharePID and ShareTableName='Cu_Customer' and shareuserid=246) where vCu_Customer.PID not in(Select top 0 vCu_Customer.PID From vCu_Customer Left Join Sy_Share on (vCu_Customer.PID=SharePID and ShareTableName='Cu_Customer' and shareuserid=246) where ((1=1) and (CustPublicType is null or CustPublicType=0) and (isSaleOK=0 or isSaleOK is null) ) And (owner = 246 or Share=1 or shareuserid=246)) and ((1=1) and (CustPublicType is null or CustPublicType=0) and (isSaleOK=0 or isSaleOK is null) ) And (owner = 246 or Share=1 or shareuserid=246) AND (CustPublicType=0 OR CustPublicType IS Null)
说明:这个SQL有点复杂,是对客户表的一个查询,带权限的,这条语句在查询分析器里是1秒就查出数据的;

右边的图是对联系人的一个修改:
update cu_contact set ContName='李福财
',Dept=0,Job='',FamilyTel='',WorkTel='',MobileTel='13609005309
',Birthday=null,Email='',QQ='',Msn='',Sex=0,PhoneSort=1 where PID=380137

这些死锁大多都是在修改联系人时,出现的,因为vCu_Customer(客户表)关联了联系人表,所以在查询时,会访问联系人表,
请大家帮小弟分析一下,这个是会是什么原因造成死锁的
...全文

相关推荐

什么是死锁,如何避免死锁?Java死锁详解

什么是死锁 死锁是指多个进程因竞争资源而引起的一种僵局,如果没有外力作用,所有进程都不会向前推进。 举例:假如有线程Thread1和Thread2,两个都要访问共享资源AB,Thread1和Thread2一个先访问A再访问B,另一个先访问B再访问A。但在他们线程未执行完时,都不会释放AB资源,那么就形成了一种僵局,Thread1在等待Thead2施放B资源,Thread2在等待Thread1释放A资源,两个进程就形成了一种僵局,下面以Java代码实现为例说明: public class DeadThread { private Thread thread1; public D

weixin_38725137

数据库死锁-解决死锁问题的三种办法

解决死锁问题的三种方法:预防死锁,检测死锁及避免死锁。

emoking

postgresql查询死锁以及杀死死锁进程sql.txt

查询sql的死锁进程,查找并杀死。解决生产数据库中卡死的现象。postgresql查询死锁以及杀死死锁进程sql

华丽丽的小低调

Mysql查看死锁与解除死锁的深入讲解

前言 前段时间遇到了一个Mysql 死锁相关的问题,整理一下。 问题描述:Mysql 的修改语句似乎都没有生效,同时使用Mysql GUI 工具编辑字段的值时会弹出异常。 什么是死锁 在解决Mysql 死锁的问题之前,还是先来了解一下什么是死锁。 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进程称为死锁进程。 死锁的表现 死锁的具体表现有两种: Mysql 增改语句无法正常生效 使用Mysql GUI 工具编辑字段的值时,会出现异常。 如何避免死锁 阻止死锁的途径

weixin_38608866

SQLSERVER死锁总结

SQLSERVER死锁总结,里面详述基于SQLSERVER数据库如何排查并处理死锁的办法,及死锁产生的原因

sunhaook666
评论 11
收藏 已收藏
分享
返回顶部
shiyueyangfeng
疑难问题 22,298 成员 121,727 内容