我有一臺服務器有20個客戶端。如果我不使用客戶端1天,查詢結果在2:30分鐘後(超過1000行)到達。執行5/6查詢後,結果在幾秒鐘後到達。在SQL Server 2008 R2上查詢速度慢
我認爲這是SQL Server的調度問題。我該如何解決?
感謝
UPDATE
這是查詢你所描述的
Select * from [WWALMDB].[dbo].[v_AlarmConsolidated]
Where Critico = 1 AND ApprovatoQA = 0
AND InAttesaDiRiconoscimento Like '%param1%'
AND (Tipo Like '%param2%') AND Area Like '%param3%'
AND Nome Like '%%param4%%' AND Descrizione Like '%%param5%%'
AND (([Dataora Scatto] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora Scatto] <= CONVERT(DATETIME,'param7',105))
OR(([Dataora Rientro] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora Rientro] <= CONVERT(DATETIME,'param7',105)) )
OR( ([Dataora PresoInCarico] >= CONVERT(DATETIME,'param6',105))
AND ([Dataora PresoInCarico] <= CONVERT(DATETIME,'param7',105)) ))
ORDER BY AlarmID DESC
緩存沒什麼特別 – lad2025
那麼,問題出在查詢中吧? – chianta
@chianta不,問題是第一次運行查詢時,它從磁盤存儲中提取數據 - 幾次運行後,數據存儲在內存中,所以運行速度更快。研究緩存調整和綁定來解決這個問題。 –