簡體   English   中英

選擇Max()太慢了

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM