我有一个事件日志数据库。在查找特定的EventID
时,我需要限制SQL搜索的大小。这是出于性能目的。
以下查询是否限制SQL查询?
SELECT EventID FROM
(SELECT TOP 100000 EventID,EventName FROM Events ORDER BY EventTime DESC) T
WHERE EventName = 'Whatever'
而不是做以下
SELECT EventID FROM Events WHERE EventName = 'Whatever'
由于
答案 0 :(得分:4)
查询1将按事件时间查找前100000个事件,然后按EventName ='Whatever'过滤这些记录 - 结果将是< = 100.000个事件。
查询2将找到EventName ='Whatever'的所有事件
我只能猜测你正在尝试实现以下目标:
SELECT TOP 100000 EventID
FROM Events
WHERE EventName = 'Whatever'
ORDER BY EventTime DESC) T
答案 1 :(得分:2)
最好的一个只返回最近的(按事件时间排序)100,000条记录。如果您想要所有记录的EventID且超过100,000,则结果将不包括所有记录。这比选择它们更快。但