以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  死锁问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188356)

--  作者:xvkewen
--  发布时间:2023/9/15 17:38:00
--  死锁问题
之前开发的一个程序 ,最近频繁出现“查询超时”的问题,经排查是数据库死锁的问题;由于在公司MSSQL数据库在服务器上有专门的同事负责,每次出现这个问题只能通过重启服务才能解决问题;每次找数据库管理员也挺麻烦;

想请教一下,有什么办法可以通过程序获得数据库死锁的情况,并显示在前台;甚至可以有针对性的由程序检测到导致死锁的进程或用户,然后自动处理这个死锁进程;


图片点击可在新窗口打开查看此主题相关图片如下:查询超时.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/9/16 8:30:00
--  
查询超时,未必是死锁,也有可能是

1、加载数据太多
2、表数据很多,没有加索引等进行优化

如果是死锁,可能是并发同时操作同一个表数据引起的,检查一般是操作哪个表引起的,使用sql获取锁参考:https://www.baidu.com/baidu?ie=UTF-8&word=SqlServer%20%E4%BD%BF%E7%94%A8sql%E6%9F%A5%E8%AF%A2%E6%AD%BB%E9%94%81
1、经常操作的表,尽量不要一次性处理太多数据
2、加上必要的索引,打开数据库客户端,优化查询的sql