Ответ 1
SELECT Count(*)
FROM SomeTableName
всегда будет считать все строки. Хотя (в отличие от SELECT *
), он не должен читать все столбцы и может использовать самый узкий (нефильтрованный) индекс, доступный для этого.
В отличие от MySQL (движок MyISAM) он не извлекает значение из метаданных.
Значение rowcount доступно в метаданных и может быть получено из sys.partitions
, но это никогда не используется для запросов COUNT
и не всегда точно.