SQL Server 2008 を使用しています。
これらの 2 つのクエリが同じような時間 (200 万行以上で約 52 秒) になる理由について、アドバイスが必要です。
クエリ 1:
DBCC DROPCLEANBUFFERS
DECLARE @curr INT
SET @curr = YEAR(GETDATE())
SELECT MAX([Date])
FROM DB_Item
WHERE YEAR([Date]) = @curr
クエリ 2:
DBCC DROPCLEANBUFFERS
SELECT MAX([Date])
FROM DB_Item
Actual Execution Plan を使用すると、 でスキャンされClustered Index scan
ます。
では、なぜDate
1 つのテーブルで の最大値をすばやく取得する別の方法があるのでしょうか?
あなたの助けは非常に高く評価されています。
ありがとう。