位置: 编程技术 - 正文

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

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

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

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

  • 企业为何放弃免税政策
  • 二手车转让增值税计税依据
  • 支付给个人的佣金费用需要发票吗
  • 咨询服务费预收率怎么算
  • 业务收入和营业收入关系
  • 厂里搬厂赔偿员工标准
  • 购进蔬菜的进项税额
  • 合同一方按手印另一方没按有效吗
  • 基础设施特许权包括
  • 原材料计划成本和实际成本的区别
  • 预收款开票的税务处理
  • 不得抵扣的会计分录
  • 企业优化什么意思
  • 开办费一次性摊销企业所得税
  • 如何理解定时是指收入在什么时候记入账册?
  • 商品进销差价账户的用途性质及核算内容
  • 招聘时开具的专用发票可以抵扣吗?
  • 园林绿化公司购入剪刀怎么做会计分录
  • 货物退回发票冲红会计分录
  • 电话费发票个人抬头可以税前扣除
  • 抄报税失败是怎么回事
  • 企业所得税投资收益纳税调整
  • 事业单位打印费计入什么科目
  • 劳务外包收入公式是什么
  • 航天税控服务费
  • 如何预防电脑系统崩溃
  • 年度一次性计税
  • 交通费补贴算工资吗?
  • oss对象储存的副本储存原则
  • laravel 入门
  • PHP:imagegammacorrect()的用法_GD库图像处理函数
  • 科尼西卡神庙在哪里
  • 前端调用后端代码
  • php分类
  • php判断ua
  • 个人所得税纳税记录怎么查询
  • 应收票据应付票据合并抵消吗
  • 结转生产成本是负数怎么办
  • 小规模纳税人季度不超30万怎么做账
  • 营业执照筹建是做什么的
  • 增值税发票的认证
  • 优先股股息必须支付吗
  • dedecms织梦不同栏目导航显示不同样式的方法
  • 注册公司注册公司
  • 非限定性净资产和限定性净资产的区别
  • 营业执照注销对商标有影响吗?
  • 增值税普通发票查询
  • 固定资产变动方式对应科目
  • 投资房地产的后续计量有哪几种模式
  • 房屋租赁费可以抵扣吗
  • 小规模小微企业免税销售额
  • 员工的报销
  • 缴纳个人社保在哪里查询
  • 盈余公积根据什么确定
  • 在途物资材料采购原材料的区别
  • 分公司设立条件怎么写
  • 房地产开发企业资质管理规定
  • mysql中关于图书馆实训题
  • mysql join实现原理
  • win101909激活
  • windows禁用usb口
  • ubuntu系统无法安装中文
  • ubuntu20.04怎么用
  • speedmgr.exe - speedmgr是什么进程 有什么用
  • 离线安装macos
  • linux实用技巧
  • visual studio 无法编译
  • perl中\s+
  • unity调用c++动态库
  • jquery 延迟对象
  • shell脚本识别十六进制数
  • android教学
  • shell脚本-p
  • 什么绑定什么服务
  • python文件描述符
  • jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
  • python文件遍历
  • 税票开票员的职责
  • 青岛税务局局长是什么级别?
  • 划拨土地是否可以出租的法律规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设