Базы данных Oracle - статьи


Новые алгоритмы обработки запросов. - часть 2


  • “Слияние хэшированием”. Альтернативный слиянию сортировкой метод выполнения соединений таблиц (еще одна альтернатива - вложенные циклы). Краткая (хотя не совсем полная) характеристика этого алгоритма дана в статье [1].
  • Применение битовых строк для индексирования. До версии 7.3 Oracle применял для индексирования только B-деревья и хэш-функции (если таблица помещалась в хэш-кластер). В версии 7.3 появилась возможность использования индексов с битовыми строками (bit-map indexes). Их идея очень проста. Если некоторое поле таблицы может принимать ограниченное число значений, то каждому такому значению можно сопоставить битовую строку (количество бит равно количеству записей в таблице), в которой единицы находятся в позициях, соответствующим тем записям, которые имеют данное значение в индексируемом поле. Ясно, что такой индекс позволяет очень быстро находить нужные записи по значениям проиндексированного поля (и любым их логическим комбинациям), а также выполнять операции агрегирования опять-таки по этому полю. Недостатки метода: эффективен лишь для полей с небольшим количеством допустимых значений, неэффективны операции сравнения с предшествованием (больше/меньше), неэффективны операции вставки, удаления и модификации записей (в действительности “в чистом виде” битовые строки не применяются: они размещаются в концевых листах B-дерева, что позволяет смягчить указанные недостатки, но очевидно, что в целом они носят принципиальный характер, а потому не устранимы полностью). Ввиду этого очень важно то, что Oracle позволяет применять bit-map индексирование в сочетании с другими методами индексирования на одной и той же таблице.



  • Начало  Назад  Вперед