Foxtable(狐表)用户栏目专家坐堂 → 死锁问题


  共有2959人关注过本帖树形打印复制链接

主题:死锁问题

帅哥哟,离线,有人找我吗?
xvkewen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
死锁问题  发帖心情 Post By:2023/9/15 17:38:00 [只看该作者]

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

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部