位置: 编程技术 - 正文

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

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

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

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

  • 买房契税如何计算
  • 企业所得税的会计利润计算公式
  • 查询一般纳税人资格证明
  • 应收账款和应付账款的关系
  • 增值税专票如何添加商品名称
  • 小金额收据入账后需要汇算清缴吗
  • 资产负债表固定资产项目包括哪些
  • 企业上缴税费总额怎么算
  • 先分后合是什么意思
  • 子公司向母公司借款
  • 费用进项税额转出怎么做账务处理分录
  • 企业债务的利息允许从税前利润扣除是什么意思
  • 小企业盈余公积弥补亏损分录
  • 年内累计增量和年度增量计算公式
  • 房屋租赁发票需要备注吗
  • 机票行业一定要开发票吗?
  • 维修属于劳务还是劳务
  • 股权转让流程详解
  • 补付工程款的分录
  • 小规模纳税人收到增值税专用发票怎么办
  • 会计中的贷款核算分录是什么?
  • 老板垫付款做会计分录
  • 土地增值税的税率和速算扣除数
  • 如何使用ChapGPT
  • 定期定额征收的个体户怎么报税
  • 收到以前年度退税款的会计分录
  • 多付货款退回的法律依据
  • dghm.exe是什么程序
  • 文件错误会追究拟稿人吗
  • macbook air怎么点击
  • 增值税专用发票上注明的价款含税吗
  • laravel如何使用前端的纯静态页
  • php pdo oracle
  • 收到保险公司退款
  • 新准则规定
  • 个人账户存储额是缴费总和
  • 公司财务认证负责人实名认证需要承担责任吗
  • 最新人工智能软件chingt
  • 收到汇算清缴后怎么处理
  • 自产自销免税农产品需要缴纳印花税吗
  • 辞退福利记入什么费用
  • 会计信息不采集有什么后果
  • 公司费用计入什么科目
  • MySQL中Distinct和Group By语句的基本使用教程
  • 如何利用税收经济效应实现税收的宏观调控目标
  • 固定资产升级账务处理
  • 税款所属期止是怎么写
  • 研发支出的账务怎么处理
  • 企业的存货清查包括
  • 补交以前年度的城建税会计分录
  • 小规模纳税人是季度报税吗
  • 小规模纳税人报哪些税
  • 小规模开票的税点是多少
  • 水利建设行业
  • 销项减进项税额
  • 软件测试费用明细
  • 未认证的进项税额转出怎么做分录
  • 盈余公积的构成
  • mysql数据库内存占用高
  • Win10/Win8.1 PC版WhatsApp更新:新的emoji表情符号
  • xp系统弹出帮助和支持
  • xp系统ie浏览器怎么升级
  • ubuntu系统安装教程
  • linux带桌面
  • 宽带连接找不到设备是怎么回事
  • win安装ie8
  • WIN10系统优化精简工具
  • android自定义属性详解
  • 改变图片透明度怎么调
  • unity4.5.3f3 和 Android的通信
  • python的爬虫模块
  • 启动游戏使用的文件夹什么意思
  • 详解HTTPS 的原理和 NodeJS 的实现
  • jquery获取url地址
  • 陕西省国家税务局
  • 技术咨询服务费税率
  • 税务总局33号公告
  • 如果我中了双色球
  • 印花税会计分录怎么做 印花税需要计提吗
  • 天津市各区国税局待遇一样吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设