我在我的一張表中有4百萬條記錄。我需要獲取最近1周內添加的最後25條記錄。SQL Server最後25條記錄查詢優化
這是我當前查詢的外觀
SELECT TOP(25) [t].[EId],
[t].[DateCreated],
[t].[Message]
FROM [dbo].[tblEvent] AS [t]
WHERE ([t].[DateCreated] >= Dateadd(DAY, Datediff(DAY, 0, Getdate()) - 7, 0)
AND [t].[EId] = 1)
ORDER BY [t].[DateCreated] DESC
現在我沒有這個表上執行任何索引,並且不打算生一個。這個查詢需要大約10-15秒來運行,我的應用程序超時,現在有辦法改善它嗎?
爲什麼你不想要一張桌子上的索引? – 2012-01-27 12:58:31
這是一個客戶端驅動的調用,他們不需要索引,我不會與它們爭論更多! – Vivek 2012-01-27 13:02:07
該告訴他們與之共處或獲得更快的光盤子系統。點。當客戶與現實矛盾時,現實會獲勝,並不在乎客戶的妄想。在Sql級別上你可以做的很多優化都沒有擺脫你強制執行的表掃描的IO。 – TomTom 2012-01-27 13:03:43