Учебное пособие Санкт-Петербург «бхв-петербург»


Просмотр на основе битовой карты



Pdf көрінісі
бет224/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   220   221   222   223   224   225   226   227   ...   256
sql osnovi yazika

Просмотр на основе битовой карты
(bitmap scan) является модификацией про-
смотра на основе индекса. Данный метод позволяет оптимизировать индексный по-
иск за счет того, что сначала производится поиск в индексе для всех искомых строк
и формирование так называемой битовой карты, в которой указывается, в каких
страницах таблицы эти строки содержатся. После того как битовая карта сформиро-
вана, выполняется извлечение строк из страниц таблицы, но при этом обращение
к каждой странице производится только один раз.
Другим важным понятием является способ соединения наборов строк (join). Набор
строк может быть получен из таблицы с помощью одного их методов доступа, опи-
санных выше. Набор строк может быть получен не только из одной таблицы, а может
быть результатом соединения других наборов. Важно различать способ соединения
таблиц (JOIN) и способ соединения наборов строк. Первое понятие относится к языку
294


10.1. Основные понятия
SQL и является высокоуровневым, логическим, оно не касается вопросов реализа-
ции. А второе относится именно к реализации, это — механизм непосредственного
выполнения соединения наборов строк. Принципиально важным является то, что за
один раз соединяются только два набора строк.
Существует три способа соединения: вложенный цикл (nested loop), хеширование
(hash join) и слияние (merge join). Они имеют свои особенности, которые PostgreSQL
учитывает при выполнении конкретных запросов.
Суть способа «вложенный цикл» в том, что перебираются строки из «внешнего» на-
бора и для каждой из них выполняется поиск соответствующих строк во «внутрен-
нем» наборе. Если соответствующие строки найдены, то выполняется их соединение
со строкой из «внешнего» набора. При этом способы выбора строк из обоих наборов
могут быть различными. Метод поддерживает соединения как на основе равенства
значений атрибутов (эквисоединения), так и любые другие виды условий. Поскольку
он не требует подготовительных действий, то способен быстро приступить к непо-
средственной выдаче результата. Метод эффективен для небольших выборок.
При соединении хешированием строки одного набора помещаются в хеш-таблицу,
содержащуюся в памяти, а строки из второго набора перебираются, и для каждой
из них проверяется наличие соответствующих строк в хеш-таблице. Ключом хеш-
таблицы является тот столбец, по которому выполняется соединение наборов строк.
Как правило, число строк в том наборе, на основе которого строится хеш-таблица,
меньше, чем во втором наборе. Это позволяет уменьшить ее размер и ускорить про-
цесс обращения к ней. Данный метод работает только при выполнении эквисоедине-
ний, поскольку для хеш-таблицы имеет смысл только проверка на равенство прове-
ряемого значения одному из ее ключей. Метод эффективен для больших выборок.


Достарыңызбен бөлісу:
1   ...   220   221   222   223   224   225   226   227   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет