我需要通过时间戳的最大值来获取值和时间戳的记录。值和时间戳的组合是主键。看来有两种方法可以获得最大/最小值。一个查询的例子是通过使用TOP 1 + ORDER BY:带TOP 1 + ORDER BY或max/min + GROUP BY的TSQL查询?
SELECT TOP 1
value, timestamp
FROM myTable
WHERE value = @value
ORDER BY timestamp DESC
另一个是由MAX()+ GROUP BY:
SELECT value, max(timestamp)
FROM myTable
WHERE value = @value
GROUP BY value
是对第二个比第一个更好的方面性能?我读one person's comment的“第一个排序n项是O(n次幂),第二个O(n)”到my previous question。那么我有价值和时间戳索引的情况如何?