Хешированные индексы
Хешированные индексы реализованы в Oracle в виде хешированных кластеров. Хешированный кластер — специализированный вид организации данных, обеспечивающий быстрый доступ к строкам таблицы. При обращении к хешированному кластеру по значению кластерного ключа применяется функция хеширования (hashing), результатом которой является значение хешированного ключа и адрес блока данных. Хешированный кластер группирует в одном блоке строки, содержащие одинаковые значения этой функции от ключей. На любой таблице можно построить только один хешированный индекс.
Доступ к таблице посредством В-дерева требует выполнения, по меньшей мере, двух операций ввода/вывода, а обычно больше (если таблица, а потому и дерево ее индекса, большая). Доступ к хешированному кластеру потребует один вызов функции хеширования и одну операцию ввода/вывода для кластера.
Хешированные кластеры целесообразно использовать для больших таблиц, поиск по которым, как правило, осуществляется с условиями равенства по ключевому столбцу (столбцам). При этом значения ключей не модифицируются. Поэтому заранее можно точно определять число значений хешированных ключей и размер кластера. В дополнение к этому, ключевой столбец (столбцы) должен быть высокоселективен.
Главным преимуществом хешированного индекса по сравнению с В-деревом является лучшая производительность выборки, вставки, обновления и удаления записей, если используются условия равенства для всех ключевых столбцов кластера.
Дата добавления: 2015-08-26; просмотров: 989;