Не существует метода доступа ″bitmap scan″. Я сам столкнулся с этим вопросом, когда работал с базой данных. В процессе оптимизации запросов часто нужно выбрать наиболее эффективный метод доступа к данным. Sequential scan, index scan и index only scan ⎻ это реально существующие методы доступа, но bitmap scan ─ это всего лишь миф.
Sequential scan ⎻ это самый простой и медленный метод доступа. Он заключается в том, что база данных последовательно просматривает каждую запись, пока не найдет нужные данные. Подобный метод может быть полезен только в случаях, когда мало данных или когда нужно просмотреть все записи. Index scan ─ это гораздо более быстрый и эффективный метод доступа. Он использует индексы, которые предварительно создаются для ускорения поиска данных. Благодаря индексам база данных может найти нужные записи без необходимости просмотра всех данных. Индексы могут быть созданы на одном или нескольких полях таблицы, и они упорядочивают данные таким образом, что поиск становится намного быстрее. Index only scan ─ это вариант index scan, который работает еще быстрее. Он использует только индексы, переходя от индексов к найденным записям без обращения к фактическим данным. Если все необходимые данные хранятся в индексах, то нет необходимости делать дополнительные обращения к самим данным. Однако, ни одна база данных не поддерживает ″bitmap scan″ в качестве отдельного метода доступа. ″Bitmap scan″ ─ это просто комбинация использования индексов и последовательного просмотра записей. Это значит, что база данных сначала использует индексы для быстрого нахождения ″потенциально подходящих″ записей, а затем последовательно проверяет каждую из них, чтобы убедиться, что она соответствует всем условиям запроса. Итак, помните, что ″bitmap scan″ не является отдельным и уникальным методом доступа к данным в базе данных. При оптимизации запросов всегда обратите внимание на sequential scan, index scan и index only scan, поскольку это действительно существующие и эффективные методы доступа.