我使用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