То, что я ищу, это вернуть некоторую оценку количества строк, а не фактический счет, который может быть дорогостоящим вызовом. Подобно тому, что вы видите в поиске Google (... от около 1.000 строк).Как получить результат count как 'about xx rows'?
Есть ли какие-то готовые решения для этого? Если нет, каков общий подход?
Я запрашиваю базу данных Sql Server 2008.
EDIT: Чтобы уточнить, количество результатов относится к определенным пользовательским запросам. Например, пользователь ищет «Джон», и результат должен быть «Есть около 1.280.000 строк, которые соответствуют Джону»
Следует помнить, что оператор подсчета относительно недорог из-за сложного дерева, такого как структурирование, используемое SQL Server. Если вы подсчитываете строки одной таблицы, затраты на обход дерева зависят от количества строк, но в целом очень эффективны. –
Это дорого из-за объединения очень больших таблиц и несколько сложного выражения «где». – veljkoz
@veljkox: Если это так, вы можете захотеть запустить профилировщик SQL Server, когда запускаете свои запросы и подсчитываете, чтобы получить статистику производительности. Затем вы можете запустить их через советник по настройке сервера sql, который, вероятно, предложит соответствующие индексы, которые могут значительно увеличить производительность по сравнению с большими объединениями и большими наборами данных. –