Интернет магазин китайских планшетных компьютеров



Компьютеры - Алгоритм соединения вложенными циклами - Подробное описание алгоритма

23 января 2011


Оглавление:
1. Алгоритм соединения вложенными циклами
2. Подробное описание алгоритма
3. Преимущества



Алгоритм состоит из произвольного числа вложенных итераций поиска данных в каждой из соединяемых таблиц.

Внешним циклом выполняется поиск строк в ведущей таблице. Если часть или все ограничения для ведущей таблицы могут быть использованы для поиска по индексу, то на каждой итерации цикла в индексе ищутся расположения всех необходимых строк и выполняется прямой доступ к таблице. В противном случае таблица сканируется целиком. Оставшиеся ограничения используются для фильтрации выбранных строк. Для каждой оставшейся строки вызывается внутренний цикл.

Внутренний цикл по условиям соединения и данным внешнего цикла ищет строки в ведомой таблице. Если часть или все ограничения для ведомой таблицы вместе с ограничениями, полученными от внешнего цикла, могут быть использованы для поиска по индексу, то на каждой итерации цикла в индексе ищутся расположения всех необходимых строк и выполняется прямой доступ к ведомой таблице. В противном случае таблица сканируется целиком. Оставшиеся ограничения используются для фильтрации выбранных строк.

На каждой итерации самого глубокого цикла выбранные из таблиц строки конкатенируются, для получения одной строки итогового результата.

В общем случае циклы могут вкладываться произвольное число раз, в зависимости от числа таблиц, участвующих в соединении.

Если в некотором цикле выполняется поиск по индексу, и всех колонок в индексе достаточно для получения итогового результата, то прямой доступ к таблице в этом цикле не выполняется.



Просмотров: 2596


<<< Автономные транзакции
Алгоритм соединения слиянием сортированных списков >>>