数据库死锁现象,分不够再加!

一个系统,后台数据库用的是sql server 7,由于系统的内部逻辑比较复杂,对数据库
的操作比较频繁,而且很多存储过程都用到了临时表,子查绚和表连接,比较耗时间。
在少人用的时候,系统还算可以,但人一多,经常会出现死锁现象,SQL SERVER用CPU占
到99%。有时服务器,都要重启才能操作。小弟经验缺乏,不知道如何解决,请问各位,
1,造成数据库死锁的原因是什么?
2。在平时编程时应注意些什么来避免死锁的发生?
3。大家遇到这样的问题了么,是怎样解决的!
先谢了!
---------------------------------------------------------------

估计锁不够大,把锁的数目加大,或者设成0。按理说您可以在管理那里看到锁不够用的情况。
如果是PB连接的前台,则是程序没有处理好,在提交上下功夫。
一般来说,只要牵涉事务的程序一定要做到有始有终,否则十分容易锁死数据库。在一些并发性较强的操作中,建议加上事务处理。
---------------------------------------------------------------

1,有多人在同一时间修改同一个表中的同一个记录;
2。对于修改数据库记录时,最好起用事物处理,而且在修改完毕后,进行事物的提交或回滚,将记录锁释放;
3。优化程序,在逻辑上应该尽量避免;采用方法2,同时多做测试,近早找出问题,并加以解决。

---------------------------------------------------------------

我看还是去找一个开锁专家吧!

呵呵!

我认为,如果事务处理的时候做到了有始有终是不成什么问题的!

但还有一个问题是,如果你多个用户都在对同一个表进行操作,而且逻辑非常复杂,这时你的数据库的承受能力是不是有需要考虑的地方 ?特别在开始了事务处理的时候,其它用户是没有对这个表进行操作的权限的,只能等待,这样的话,你的作业就可能没有反应了!

我想如果你能够把你的表结构处理一下,使它的一些业务处理能够尽快的完成,对于你的软件应该有很好的帮助 !
---------------------------------------------------------------

说得真详细。学习

Published At
Categories with 数据库类
comments powered by Disqus