易截截图软件、单文件、免安装、纯绿色、仅160KB

请教C/S信息管理系统如何避免死锁?

c/s,sql server 2005,30多个表。访问最频繁的任务表有50多个字段,40多万记录。

以前就偶尔出现死锁错误,近期由于用户增多,死锁更是频繁的出现。  =。=

我跟踪sql,发现死锁几乎都与上述的任务表有关(select、update)。

这个表是系统的核心,几乎所有的操作都会涉及到它,肯定是无法避免多人同时对它进行访问的。

请教这情况下如何避免死锁呢?撇开这套有设计缺陷的系统,设计逻辑复杂、数据量巨大的信息系统时应如何避免死锁呢?
是deadlock还是block?


deadlock



引用
对现有系统改造 ?
1、如果允许降低隔离等级
2、select 使用锁定提示
3、事务不要有人为干预
4、事务尽量的短


过多的使用事务是不是容易造成死锁?


有无枪狙击手的 BLOG 上的详细介绍在前,不再(敢)重复了。

只补充一点,在实际运行中,由于不可能更改设计和实现,SQL Server 2005 可以考虑使用“快照读已提交”事务隔离级别(ALTER DATABASE SET READ_COMMITTED_SNAPSHOT ON)。

SEE SEE


http://blog.csdn.net/fredrickhu/archive/2009/09/21/4574867.aspx

各个业务处理对表的操作顺序要一致。

1 使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务; (细化处理逻辑,执行一段逻辑后便回滚或者提交,然后再执行其它逻辑,直到事物执行完毕提交)
2 设置死锁超时参数为合理范围,如:3分钟-10分种;超过时间,自动放弃本次操作,避免进程悬挂;
3 优化程序,检查并避免死锁现象出现;
4 .对所有的脚本和SP都要


相关问答:

如何查找系统未安装补丁C - C/C++ / 新手乐园

请问各位高手如何用C/C++获得系统未安装补丁
好像很专业的东西。。。

查注册表
每个补丁如果安装了都会在注册表里面登记

请问能不能更清晰些,我想用c\c++查出来,不好意思,我是新手。还望指教。谢

分值 ......

C 程序问题(四) - C/C++ / C语言

#include "stdio.h"
int main()
{
  char *ch(char *, char *);
  char str1[]="I am glad to meet you!";
  char str2[]="Welcom to study C!";
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号