我在SSMS中運行了三個查詢,無法理解它們每個運行所需的時間差異。前兩個查詢提取一個月的數據,第三個提取兩個月的數據。所有查詢都能正常工作,但我無法理解第二個問題可能需要很長時間才能運行。 查詢,返回的記錄數和每個查詢所用的時間如下: 任何人都可以解釋這一點嗎?SQL Server中查詢執行時間不一致
SELECT *
FROM [vw_Movement]
WHERE ShiftDateTime BETWEEN '1 Aug 14 6:00' AND '31 Aug 14 18:00'
(Rcds returned=16,342, time=0 secs)
SELECT *
FROM [vw_Movement]
WHERE ShiftDateTime BETWEEN '1 Sep 14 6:00' AND '30 Sep 14 18:00'
(Rcds returned=14,468, time=24 secs)
SELECT *
FROM [vw_Movement]
WHERE ShiftDateTime BETWEEN '1 Aug 14 6:00' AND '30 Sep 14 18:00'
(Rcds returned=30,810, time=0 secs)
嘗試重新啓動SQL Server進程並再次運行查詢 - 查詢時間仍然不合理?如果重新啓動 - 多次查詢,平均時間仍然不合理?您可能在第一個和第三個查詢中已經命中緩存 – 2014-10-04 00:51:49
這些查詢是否一致地執行?如果不是,請多次運行這些查詢並對結果取平均值。 – md4 2014-10-04 02:19:36
@SergeyVolegov:我希望它不是一個生產服務器。 – 2014-10-04 07:45:22