Как предсказать количество строк набора результатов? - PullRequest
1 голос
/ 25 мая 2010

У меня есть приложение, в котором я динамически создаю большой запрос SQL для SQL Server 2008. Этот запрос основан на различных критериях поиска, которые пользователь может задать, например, поиск по фамилии, имени, ссн и т. Д.

Требование состоит в том, что если пользователь задает условие, из-за которого сформированный запрос может вернуть много строк (настраивается для максимум N строк), то приложение должно вместо этого отправить обратно пользователю сообщение о том, что ему необходимо уточните его поисковый запрос, так как существующий запрос вернет слишком много строк.

Я бы не хотел возвращать, скажем, 5000 строк клиенту, а затем отбрасывать эти данные, просто чтобы показать пользователю ошибку. Как эффективно решить эту проблему?

1 Ответ

4 голосов
/ 25 мая 2010

почему бы просто не показать первые N строк И сообщение? ограничить число возвращаемых строк до N + 1, и если количество возвращаемых строк больше> N, показать сообщение:)

если вы просто хотите проверить, сколько строк будет возвращено запросом, тогда select count(id) (или имя некоторого столбца) вместо select *

...