我正在使用SQL Server 2008,剛剛開始在查詢數據庫時出現間歇性問題。使用WHERE子句時,間歇性的查詢速度慢
至少每天一次,我因爲查詢速度緩慢而導致很多應用程序超時。這沒有特別的時間,有時在早上,有時在下午。每次我開始解決問題時,它都會在幾分鐘內解決問題。
通常我使用此查詢:
SELECT名字從人口統計學WHERE名稱IS NOT NULL
,並在<1秒運行。但是,在這些「問題時間」期間,查詢需要大約3分鐘的時間。一旦查詢完成,我可以再次運行它並且工作得很好(幾乎是即時)。
而且,上面的查詢運行時,我可以用這個:
SELECT名字從人口統計學
,它運行完美。沒有延遲。唯一的區別是WHERE
條款。那麼,我該從哪裏開始排除故障?我應該使用哪些工具來查找原因?
在此先感謝。
感謝有關執行計劃的信息。事實證明,當我比較兩者時幾乎沒有什麼區別。我會接受這個答案,因爲它幫助最大。 – Travis 2010-11-12 17:24:41
如果計劃之間沒有很大的差異,那麼問題很可能是由服務器上的其他進程引起的。您可以嘗試通過使用帶有「持續時間」列上的篩選器的SQL事件探查器來跟蹤這些事件,以便僅返回超過10秒的查詢。然後,當問題發生時,查看配置文件數據以查看查詢運行緩慢時是否發生了其他事情。 – 2010-11-12 20:21:45