日期:2014-05-18  浏览次数:20966 次

求教:某些表查询速度突然巨慢的原因?
问题描述:
1、某1、2个表会不定时的访问速度突然巨慢,存储过程的查询速度本来几秒变成几分钟(返回结果还是正确的),频率大约每天1次,,这时其他表的访问速度正常
2、现在的解决办法是重启SQLSERVER服务就能恢复正常,但显然不是长久之计
3、最近还偶尔出现SQLSERVER报死锁错误和计时器错误,不知道有没有联系
4、高峰期大约是50台电脑同时访问数据库

求教:
1、俺最想知道的是到底那条语句造成的速度巨慢?包括死锁和计时器错误,比如日志里有记录吗,该如果查找?(巨慢操作的里面一般都是1、2个存储过程,里面数百条语句)
2、可能出现这种情况的原因和大体的解决思路?

非常非常非常感谢各位大侠。。。。。。。

------解决方案--------------------
、俺最想知道的是到底那条语句造成的速度巨慢?包括死锁和计时器错误,比如日志里有记录吗,该如果查找?(巨慢操作的里面一般都是1、2个存储过程,里面数百条语句)

-->>使用profile跟踪
2、可能出现这种情况的原因和大体的解决思路?
-->>1、建立索引 2、对语句进行优化
------解决方案--------------------
表记录数多少?查询有没有关联其他表?
服务器的配置(内存、cpu)?
------解决方案--------------------
lz:基于你的问题的解答:

从你的描述看,应该是你的查询语句有问题,所以建议你跟踪一下自己的程序,看下是哪条语句所影响的,在对证下药要好一点。你的这条语句在查询分析器中执行一下就知道了,看下它的执行计划什么的,能看出端倪。如果你使用的有网络的数据库,还建议你检查一下你的连接有没有老化问题,最大网络包值是多少?统计这些信息也有利于你工作的开展。

像这样的多并发问题最好是有好的服务器和硬件设备支持。

在此也希望lz早日测试完成,找出问题,解决问题,更加成功。
------解决方案--------------------
用Profiler+数据库引擎优化顾问应该可以解决你的问题
------解决方案--------------------
查询语句另存为SQL未见,数据库引擎优化顾问中使用此文件作为负荷文件,测试一下,数据库引擎会给你列出基本的优化选项
------解决方案--------------------
查查是否有事务冲突,
正在更新表,未提交事务时,查询表可能会发生死锁.
可试试将查询的事务隔离级别设为最低试试
select * from 表 (with nolock) 
加上with nolock将事务隔离级别设至最低试试