#sql-server
#sql-server
Вопрос:
Кто-нибудь может кратко объяснить, в чем разница между этими тремя сканированием индекса, сканированием таблицы и поиском по индексу?
Ответ №1:
Сканирование индекса
Сканирование индекса сканирует каждую запись в индексе.
Table Scan
таблица обрабатывается строка за строкой от начала до конца. Если индекс является кластеризованным индексом, то сканирование индекса на самом деле является сканированием таблицы. Поскольку сканирование затрагивает каждую строку в таблице, независимо от того, соответствует она требованиям или нет, стоимость пропорциональна общему количеству строк в таблице. Следовательно, сканирование является эффективной стратегией, если таблица небольшая.
Поиск по индексу
Поскольку поиск касается только соответствующих строк и страниц, содержащих эти соответствующие строки, стоимость пропорциональна количеству соответствующих строк и страниц, а не общему количеству строк в таблице.