位置: 编程技术 - 正文

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

编辑: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 转载请保留说明!

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

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

  • 缴纳去年的企业所得税怎么做账
  • 减免所得税会影响工资发放吗
  • 餐饮行业的成本率在多少才正常
  • 白条技巧
  • 其他个人出租不动产
  • 研发费用辅助账谁来做
  • 处置固定资产简易征收
  • 动漫版权交易
  • 固定资产报废的会计科目
  • 单位风险金是什么意思
  • 公司出差开自己的车怎么计算损耗
  • 哪些票据可以挂公司名下
  • 未付款怎么说
  • 购买软件能直接用吗
  • 营业账簿印花税包括什么
  • 以前年度亏损可以税前扣除吗
  • 房地产企业各个阶段所涉及的税种
  • 广告宣传费扣除标准30%是什么?
  • 在建工程转固定资产当月提折旧吗?
  • 未达起征点的个体户个人所得税
  • 工商年报报表
  • 建筑公司材料费属于什么科目
  • 汇算清缴已退税的还可以作废吗
  • 公司成立之后有人投资怎么做分录?
  • 平销返利税率
  • 信托保证本金吗
  • 事业单位服务收入怎么做账
  • 事业单位自筹什么意思
  • PHP:xml_get_current_byte_index()的用法_XML解析器函数
  • 详解php语言最牛的语言
  • 企业职工工伤赔偿标准
  • 多交的所得税退回来账务处理
  • PHP:curl_strerror()的用法_cURL函数
  • 冲销以前年度多计提的工资资产负债表怎么平
  • 预付购买材料款会引起会计等式
  • 外商投资企业采用交易发生日的即期汇率
  • 存货损失的账务处理
  • php 单例模式优点及如何实现
  • 豁免债权如何做账
  • 旅游费发票可以报销吗
  • promise歌曲
  • uniapp实战视频教程
  • 如何使用php写一个网页
  • 常用的绘图比例有哪些?
  • vue知识点汇总
  • 2023年网络安全专题教育
  • 卷积拆分
  • 一般纳税人和小微企业的区别
  • 无形资产资本化和费用化的区别
  • 预收账款挂多久确认收入
  • 企业所得税季度申报表怎么填
  • 个人所得税手续费奖励办税人员文件
  • 飞机票抵扣进项税怎么填附表二
  • 单位出租不动产,按照5%的征收率计算应纳税额
  • 收据盖发票专用章会被处罚吗
  • 一次性工伤医疗补助金怎么领取
  • 其他应付款长期挂账违反什么规定
  • 保险公司的返点能要吗
  • 成本收入率和收入成本率的区别
  • 透明数据网
  • xp剪贴板怎么打开
  • page文档的排版技巧
  • windows 查看图片
  • 自己的磁盘
  • Linux中QQ软件的安装和配置
  • win10系统窗口贴靠操作的快捷键
  • windows 10预览版
  • perl字符串替换 ~s
  • parseint函数功能
  • 怪物掉落物品的获取方式
  • 在dos下运行
  • node爬取数据
  • Python字符串大写
  • javascript的dom
  • javascript面向对象编程指南 pdf
  • 广东高速费用支付宝支付如何开发票
  • 沈阳和平税务大厅电话
  • 大连市国家税务局官网登录
  • 保险机构如何代收车船税
  • 支付税控服务费的账务处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设