我有一个应用程序,我为SQL Server 2008动态创建一个大的SQL查询。此查询基于用户可能提供的各种搜索条件,例如lastname,firstname,ssn等搜索。
要求是,如果用户给出了一个条件,由此形成的查询可能返回很多行(可配置为最多N行),那么应用程序必须向用户发送回消息,说他需要优化他的搜索查询,因为现有查询将返回太多行。
我不想将5000行反馈给客户端,然后丢弃该数据只是为了向用户显示错误。什么是解决这个问题的有效方法?
答案 0 :(得分:4)
为什么不只显示前N行和消息?将返回的行限制为N + 1,如果返回的行数为> N然后显示消息:)
如果您只想查看查询返回的行数,那么select count(id)
(或某些列名称)代替select *