SQL Server 2000 - что такое «фактическое количество строк»? - PullRequest
2 голосов
/ 12 января 2009

У меня есть запрос SQL Server 2000, который выполняет сканирование кластерного индекса и отображает очень большое количество строк. Для таблицы, в которой у меня 260 000 записей, фактическое количество строк, отображаемых при выполнении плана, составляет ... 34 000 000

Имеет ли это смысл? Что я недопонимаю?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 12 января 2009

Значения, отображаемые в плане выполнения, являются оценками на основе статистики. Обычные запросы, такие как:

SELECT COUNT(*) FROM Table

на 100% точны для вашей транзакции *.

Вот связанный вопрос .

* Пограничные случаи могут различаться в зависимости от уровня изоляции транзакции.


Больше информации о статистике:

0 голосов
/ 14 января 2009

Но ... Если это " Фактическое Количество строк" ... почему это основано на статистике?

Я предположил, что Расчетное Количество строк используется при построении плана запроса (и выбирается из статистики в то время), а Фактическое количество строк - это некоторая дополнительная информация, добавляемая после выполнения запроса, для пользователь отладки и настройки?

Разве не так?

0 голосов
/ 12 января 2009

Если количество строк отключено от плана запроса, вам необходимо обновить статистику, иначе оптимизатор запросов может выбрать неправильный план. Кроме того, сканирование кластеризованного индекса почти похоже на сканирование таблицы ... попробуйте исправить индексы, чтобы получить поиск кластеризованного индекса или, по крайней мере, поиск индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...