[英]Select Max() is too slow
我試圖從SQL Server 2016中的列獲取最新日期,但是需要大約10秒來檢索此數據。 該表有超過1.46億條記錄。
結合我必須運行的其他查詢代碼需要1分鍾才能完成。
如何更快地進行此查詢?
DECLARE @MaxDate DATE
SELECT @MaxDate = MAX(MyDate)
SELECT COUNT(*) FROM MyTable
我甚至試過了
SELECT c.*
FROM (SELECT MyDate, COUNT(*) as TheDate,
RANK() OVER (ORDER BY COUNT(*) DESC) as seqnum
FROM MyTable
GROUP BY MyDate
) c
WHERE seqnum = 1;
它的速度是一樣的
如果您想快速獲得最大日期,則在該列上創建索引(mydate)
。
你應該能夠做到:
select max(mydate)
from t;
或者如果你想要所有的行:
select top (1) with ties t.*
from t
order by mydate desc;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.