Алгоритм объединения слиянием с условием неравенства - PullRequest
6 голосов
/ 24 февраля 2012

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

Ответы [ 2 ]

1 голос
/ 15 января 2014

Это - это то, что вы ищете.

7.4 Объединения с сортировкой слиянием

Объединения с сортировкой слиянием могут объединять строки из двух независимых источников.В общем, хеш-соединения работают лучше, чем сортировка слиянием.Однако объединения с сортировкой слиянием могут работать лучше, чем объединения с хешами, если существуют оба следующих условия:

Исходные строки отсортированы.Операция сортировки не требуется.Однако, если объединение сортировки со слиянием предполагает выбор более медленного метода доступа (сканирование индекса по сравнению с полным сканированием таблицы), тогда преимущество использования сортировки слиянием может быть потеряно.

Объединения объединения сортировки полезны, когдаусловие соединения между двумя таблицами является условием неравенства, таким как <, <=,> или> =.Объединения с сортировкой и слиянием работают лучше, чем объединения с вложенными циклами для больших наборов данных.Для хеш-соединений требуется условие равенства.

В объединении слиянием нет понятия управляющей таблицы.Объединение состоит из двух этапов:

Операция объединения сортировки

Оба входа отсортированы по ключу объединения.

Операция объединения слиянием

Сортированные спискиобъединены.

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

0 голосов
/ 15 мая 2012

Здесь есть пример: http://www.serkey.com/oracle-skyline-query-challenge-bdh859.html

Это то, что вы хотите сделать?(ключевое слово "soft-merge")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...