我使用SQL Server 2014如何獲得由SELECT語句返回的結果的最大價值
我需要下面的查詢結果發送到客戶端應用程序:
SELECT PrimaryKeyID, ColA, ColB, ColC , CreateDate
FROM VeryHeavyView
WHERE Condtion<123
我需要將Max(PrimaryKeyID)
和Max(CreateDate)
記錄到日誌表中。
我喜歡這樣做的開銷。什麼是最有效的方式來做到這一點?
更新1
下面有一些想法,如何做到這一點,但我想我在這裏發表的問題,看看是否有這樣做的更好或更有效的方式:
- 我可以通過查詢兩次簡單地做到這一點,但這不是高效的
- 我知道我可以將結果存儲到臨時表中並且SELECT MAX臨時表
我可以按所有列。這是非常昂貴的,因爲我使用的實際查詢對於3000行是相當昂貴的。
我可以做查詢像
SELECT @Var1=PrimaryKeyID, ColA, ColB, ColC , @Var2=CreateDate FROM VeryHeavyView ORDER BY PrimaryKeyID
,但我不知道這是否是支持
這樣,我在結果集中重複了3000次MaxValue(s)。這將是沉重的網絡和客戶端應用程序的潛在內存。 –
圍繞此查詢添加包裝查詢,並僅選擇具有不同值的最大值。運行查詢並查看結果不假設關於advane – Tassadaque