Я понимаю, что сканирование таблицы просматривает каждую запись в таблице. И поиск таблицы смотрит на конкретные записи.
Кроме того, концепция индексного сканирования / поиска такая же, как и выше, с той разницей, что значения расположены в отсортированном порядке.
Вопрос : Является ли операция поиска по индексу более дорогой по сравнению со сканированием по индексу, когда объем данных искомого элемента высок? а почему?
Пример: допустим, что статистика устарела, а оценочные строки равны 100, но фактические строки равны 100000. Механизм решает использовать поиск по индексу. Будет ли это дороже, чем индексное сканирование и почему?
SELECT StockItemID
FROM Examples.OrderLines
WHERE StockItemID = 1;
Я имею в виду книгу «Экзамен № 70-762 Разработка баз данных SQL», в которой есть этот пример, и на странице 338 он гласит: «Поскольку это значение (устаревшая статистика) относительно низкое, оптимизатор запросов сгенерировал план использование поиска по индексу, который может быть менее оптимальным, чем сканирование при больших объемах данных ". Я пытаюсь понять, почему поиск считается дорогим.