位置: 编程技术 - 正文

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

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

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

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

  • 公司注册资本认缴
  • 地税办理流程
  • 附加税申报减免性质代码下面的三个请选择用填吗
  • 支付宝公户可以转私户吗
  • 财务合理化建议例子
  • 非同一控制企业合并下,购买日将
  • 应收账款和长期应收款区别
  • 收到对方的银行汇票算什么凭证
  • 食品发票可以抵扣所得税吗
  • 银行回单手续费怎么找到对应金额
  • 建设项目检测费
  • 一般纳税人选择简易计税进项税可以抵扣吗
  • 三证合一对纳税有影响吗
  • 企业交残疾人基金会计分录怎么做
  • 事业单位固定资产报废处置流程
  • 农产品加计扣除政策2023最新
  • 收到政府补贴要交增值税吗
  • 长期未收回的应收账款企业所得税
  • 工会资助贫困大学生
  • coms恢复默认设置
  • 电脑不用的情况下怎么让它关闭屏幕
  • win11 pin失效
  • ae应用程序无法启动
  • 怎么登记总分类账簿
  • 契税计税依据及计算方式
  • 差额征税账务处理规定
  • 阿拉斯给加拉普
  • php生成csv文件
  • php 获取当前url
  • 个体经营所得税申报表a
  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割
  • 计算机视觉算法
  • wordpress app插件
  • 网上申报完还需要去税务局吗
  • java集合框架主要有
  • 向境外支付赔偿款是否需要税务备案
  • 开具红字增值税专用发票信息表在哪
  • 开专票一定要写明细吗
  • 销售成本转结分录
  • 收到费用报销单据应该怎么记账?
  • 电子发票自己打印黑白有效吗
  • sql优化方式
  • 收到住宿费普通发票会计分录
  • 以货物抵债的会计分录
  • 食堂的帐怎么做
  • 残保金怎么做账务处理
  • 计提工资时个税挂其他应收款
  • 实收资本后面带人名吗
  • 最新版的电子发票没有章
  • 税前扣除的职工福利费怎么算
  • 企业期货投资收益要交所得税吗
  • 融资租赁固定资产的账务处理实例
  • 销售完一定要结工资吗
  • 一般纳税人会计分录
  • 年平均资金占用额是动态平均数吗
  • 党建经费可以购买什么
  • 政府补贴递延收益的摊销时间
  • sqlserver数据库中表的类型有哪些
  • 访问和更改关系的区别
  • sqlserver数据库迁移至mysql
  • winds密码忘记了
  • win8的应用商店在哪
  • windows图标显示不出来
  • ctd module
  • win10虚拟机无法安装
  • win8删除所有内容并重新安装windows
  • win 7电脑音箱没有声音
  • virtualbox 虚拟化
  • win7系统无wifi连接
  • node.js连接数据库的代码
  • unity项目资源
  • python里的迭代器
  • 计算天数的excel公式
  • linearlayout addview
  • 安卓初始化
  • jquery foreach循环
  • 怎样在电子税务局查询财务报表
  • 深圳前海地铁站几号线
  • 江苏高速通行费标准
  • 增值税号和增值税账号的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设