我有一个可能会返回数千条记录的搜索表单;如果查询返回超过 500 个左右,我想显示一条消息,并让用户优化搜索以获得更少的结果。
在运行实际查询之前,我是否坚持执行 Select Count?这里的最佳做法是什么?
我有一个可能会返回数千条记录的搜索表单;如果查询返回超过 500 个左右,我想显示一条消息,并让用户优化搜索以获得更少的结果。
在运行实际查询之前,我是否坚持执行 Select Count?这里的最佳做法是什么?
选择前 501 条记录。然后,您可以显示它们并告诉用户他们应该优化搜索。
SELECT COUNT(*)
FROM (
SELECT TOP 500 *
FROM mytable
)
这比仅仅更有效SELECT COUNT(*)
您还想向您的用户展示前 n 个结果吗?这可以通过编写“Select top n”(n 是您想要获取的最大行数)而不是“Select”来实现。有关更多详细信息,请参阅此链接。