Я читал эту дискуссию в еще одном сообщении, где этот вопрос поднимал кто-то другой. Прежде чем читать дискуссию, я всегда думал, что SQL Server (и другие СУБД) сохраняют глобальное количество строк для каждой таблицы где-то в метаданных, но обсуждение, похоже, говорит, что это не так. Зачем? Count(*)
(без какой-либо фильтрации), являющийся такой общей операцией, получит огромный импульс, если это O (1). Даже не рассматривая Count(*)
, общее количество строк в таблице является такой важной частью информации. Почему они не замечают это?
Кроме того, зачем нам "загружать" целые строки (как указано в сообщении, который я связал), чтобы их подсчитать? Должны ли индексы или ПК и т.д. Быть достаточными для их подсчета?