位置: 编程技术 - 正文

记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录)

编辑:rootadmin

推荐整理分享记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:仓库记录,仓管怎么记仓库东西,公司仓库库存明细表格范本,公司仓库库存明细表格范本,仓库如何记账,仓库记录,公司仓库库存明细表格范本,仓库记录,内容如对您有帮助,希望把文章链接给更多的朋友!

死锁的四个必要条件:

互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。

请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。

非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。

循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

仓库拣货卡死,排查了数据库的很多地方,都没有头绪,最后到SQL Server 错误日志里查看,终于发现了蛛丝马迹

咋一看上面的错误信息,可以发现两条相同的语句造成的死锁,但是这么短的语句不可能持有排他锁太久

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ac5e.jpg" alt="查看图片" />

再仔细分析一下错误日志,发现都死锁在同一个非聚集索引上,再问了一下开发,开发那边说,这条语句是在一个大事务里面,这个事务会做7、8件事

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_acec2f8.jpg" alt="查看图片" />

索引属性

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aedc3.png" alt="查看图片" />

还有索引里面的数据,发现很多重复值

记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录)

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aed.jpg" alt="查看图片" />

SQL语句是这样的

下图为语句生成的执行计划

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aee.jpg" alt="查看图片" />

当时的情况是大量SQL语句被阻塞,而阻塞的语句正是下面这条语句

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ac.jpg" alt="查看图片" />

解决方法

上面得出几个症状

1、update语句是在一个大事务里面,事务太大导致其他session等待排他锁的时间变长

2、大家都在使用同一个非聚集索引,并扫描PricingExpressProductCode字段

3、索引里的重复值很多

从上面的症状基本可以判断,这个非聚集索引无啥用,可以禁用之

禁用之后,死锁消失,问题解决,仓库的怨气也随之消失

这一次排查过程时间有点长,但是很好定位,SQL Server错误日志给出了足够的信息定位死锁问题,所以遇到问题的时候一定要分析清楚日志

实用的银行转账存储过程和流水号生成存储过程 银行转账存储过程USE[BankInfor]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[Transfer](@inAccountint,@outAccountint,@amountfloat)asdeclare@totalDepositfloat;beginselect@totalD

asp.net中如何调用sql存储过程实现分页 首先看下面的代码创建存储过程1、创建存储过程,语句如下:CREATEPROCP_viewPage@TableNameVARCHAR(),--表名@FieldListVARCHAR(),--显示列名,如果是全部字段则

SQL Server 附加数据库时Read-Only错误的解决方案 SQLServer附加数据库文件时出现了Read-Only错误,附加的时候,系统提示mdf文件为只读,可是打开文件属性,这个属性不为只读。该怎么解决呢?本文我

标签: 仓库记录

本文链接地址:https://www.jiuchutong.com/biancheng/347380.html 转载请保留说明!

上一篇:开窗函数有浅入深详解(一)(开窗函数窗口范围)

下一篇:实用的银行转账存储过程和流水号生成存储过程(实用的银行转账怎么转)

  • 撤销增值税申报流程
  • 设备检验检测
  • 水利建设专项基金的税率
  • 认缴后怎么才算实缴
  • 工资的计提与结转怎么算
  • 公司购买的意外险属于个人还是公司
  • 索赔费用项目
  • 联合开发合作模式
  • 车贷抵押金计入会计科目?
  • 活动现金红包
  • 住房按揭贷款贷后检查内容
  • 某企业月末由仓库转来发料凭证汇总表
  • 核定征收的企业所得税怎么算
  • 雇主责任险税前列支
  • 技术培训费发票怎么开
  • 金税盘的年费怎么做抵扣帐
  • 业务招待费业务宣传费
  • 其他应付款社保贷方余额怎么冲平
  • 企业进项发票如何做账
  • 企业所得税应纳税所得额不得扣除
  • 花店怎么做会计工作
  • 契税纳税义务发生时间税屋
  • 收回应收账款资产为什么不变
  • 一张发票上可以开几行
  • 建筑工程总包分包的内容
  • win10专业版激活密钥永久
  • 政府会计制度新旧衔接图
  • 经营出租固定资产折旧额计入什么科目
  • 按揭贷款到账时间
  • 所得税贷款利息扣除
  • 最多人用的操作系统
  • cesium加载s3m
  • yolov5 教程
  • 小企业会计准则和一般企业会计准则的区别
  • thinkphp where or
  • 归一化的几种方法
  • 应收账款为负数正常吗为什么
  • php链表的应用场景
  • 梯度下降算法的正确顺序是
  • vue2.
  • unetbootin怎么删除
  • 固定资产多少钱以上才要计提折旧
  • 车险增值税发票模板图片
  • 发票升位需要什么资料
  • 增值税小规模纳税人减免增值税政策
  • 现金结算的特点和概念
  • 汽车加油增值税专用发票
  • 实收资本一定要到账吗
  • 固定资产清理的审计目标不包括
  • 企业法人名下的产业多了是好事吗
  • 息税前利润怎么算出来的
  • 纳税期限与缴库期限不符
  • 偿债基金专户
  • 二手市场机械设备
  • 暂估成本以后也没有票回来了
  • 未完工工程如何验收
  • 怎样算小公司
  • 一次性购买多张火车票
  • mysql使用命令
  • unix是什么语言
  • win+tab键
  • win10系统打开图片内存忽大忽小
  • libegl.dll病毒
  • 使用jquery操作dom
  • unity热更新一般更新什么
  • vue缓存数据
  • 在bash shell环境下
  • linux shell 技巧
  • BootStrap iCheck插件全选与获取value值的解决方法
  • python中对文件操作的一般步骤
  • js中substring和substr有区别吗
  • js框选
  • ukey开发票系统怎么升级?
  • 住房货币化什么意思
  • 为什么增值税是销项税减进项税
  • 增值税普票十万怎么开
  • 纳税申报期限和税款缴纳期限一样吗
  • 2013年山西高考作文
  • 税务绩效管理主要内容
  • 发票多久作废不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设