Вообще говоря нет - рассуждения таковы:
Если (!) Планировщик запросов может использовать TOP 10 для возврата только 10 строк, тогда СУБД даже не будет знать точное количество строк, удовлетворяющих полному критерию, она просто получит TOP 10 .
Поэтому, когда вы хотите узнать количество всех строк, удовлетворяющих критериям, вы запускаете его не во второй раз, а в первый раз.
Сказав, что правильные индексы могут заставить оба запроса выполняться довольно быстро.
Редактировать
MySQL имеет SQL_CALC_FOUND_ROWS , который возвращает число строк, которые запрос вернул бы, если бы не было применено LIMIT - поиск в Google для эквивалента в MS SQL указывает на аналитический вариант SQL и CTE, см. этот форум (хотя и не уверен, что любой из них будет квалифицирован как запускающий его только один раз, но не стесняйтесь проверять - и дайте нам знать).