Описание: Полное сканирование таблицы. Каждая строка таблицы проверяется на соответствие условиям запроса.
Вызывается: Отсутствие подходящих индексов или когда условия WHERE
не могут использовать существующие индексы.
Эффективность: Неэффективно для больших таблиц. Для оптимизации:
WHERE
WHERE
для сканирования только нужных партицийWHERE
Описание: Использование индекса для поиска строк, соответствующих условиям запроса.
Вызывается: Наличие подходящего индекса в условии WHERE
.
Эффективность: Эффективно, так как используются индексы для быстрого доступа к данным.
Описание: Извлекает все необходимые данные непосредственно из индекса, не обращаясь к самой таблице.
Вызывается: Когда все запрашиваемые столбцы содержатся в индексе.
Эффективность: Очень эффективно, так как уменьшает количество операций сопоставления.
Описание: Bitmap Index Scan
создает битовую карту для строк, которые соответствуют условиям, а затем Bitmap Heap Scan
использует эту карту для извлечения строк из таблицы.
Вызывается: Когда запрос извлекает много строк, но не все, и есть подходящие индексы.
Эффективность: Эффективно для запросов с множественными условиями фильтрации.
Резюме операций сканирования
Seq Scan
эффективен только для маленьких таблиц. Index Scan
и Index Only Scan
значительно ускоряют запросы при наличии подходящих индексов. Bitmap Scan
оптимален для запросов, извлекающих среднее количество строк с несколькими условиями. Для оптимальной производительности создавайте индексы на часто используемых в WHERE
столбцах и используйте партицирование для больших таблиц.