服务器几百万买的,硬件配置没问题。cup使用率很低,网速也没问题,丢电信托管的。但是数据库经常出现死锁的情况。
用户天天都在反映系统卡,如果把sqlserver2000换成sqlserver2008能解决问题吗?
能解决问题的话再追加财富点。
谢谢大家,追加50分,求大家再帮忙想想!
非常感谢瑞致和、szm341!大哥们,能指条明路吗?我第一步该做什么,第二步该做什么。。。。详细点!
再追加50分,谢谢!谢谢!!!
业务流程以及数据处理流程的优化基本上不可能啊,只能从其他方面来考虑。
追答除了硬件方便就只有数据库结构及编程方面的优化了,这都不可能你想通过什么方式呢?
结构方面就是上面提的优化一下索引,编程方面就涉及到数据库锁知识了,这个你要自己渗透
如楼下说的脏读问题,不过他恰恰说返了,允许脏读正是缓解数据库阻塞与死锁的一个手段,
但是要根据你的业务流程来决定,比如银行一类的系统,涉及到金额方面的就不能允许脏读
----------------
我上面提的已经很清楚了,首先用profiler确认问题,是你所谓的死锁导致的还是我说的阻塞导致
然后利用引擎优化顾问来优化一下索引,优化索引可以达到优化阻塞及死锁的效果
再者,根据优化后的效果,如果还是不佳可以考虑允许数据脏读,就是查询时在表名后面加with(nolock),但也要根据实际业务慎用
以前不觉得卡,就前一久增加了一个系统,和原来的系统共同使用一个数据库,就开始卡了。
网速是没问题的,也没发现被攻击。
您说的代码出现脏读我不太理解,是不是指死循环?
比如A代码改了一个数据没提交事务,B代码去读这个数据,结果就会很卡,你可以用代码试试!