10.3. Методы формирования соединений наборов строк
Узел Nested Loop, в котором выполняется соединение, имеет два дочерних узла:
внешний — Seq Scan и внутренний — Bitmap Heap Scan. Во внешнем узле после-
довательно сканируется таблица aircrafts с целью отбора строк согласно условию
Filter: (model ~ '^Air'::text)
Для каждой из отобранных строк во внутреннем дочернем узле (Bitmap Heap Scan)
выполняется поиск в таблице seats по индексу с использованием битовой карты.
Она формируется в узле Bitmap Index Scan с учетом условия
Index Cond: (aircraft_code = a.aircraft_code)
т. е. для текущего значения атрибута aircraft_code, по которому выполняется со-
единение. На верхнем уровне плана сформированные строки сортируются по ключу
(Sort Key: s.seat_no).
Следующий метод соединения наборов строк —
соединение хешированием (hash
join). Получим список маршрутов с указанием модели самолета, выполняющего рей-
сы по этим маршрутам. Воспользуемся таблицами «Маршруты» и «Самолеты».
Достарыңызбен бөлісу: