Мне интересно узнать, есть ли преимущество в производительности для разбиения числового столбца, который часто является объектом запроса. В настоящее время у меня есть материализованное представление, которое содержит ~ 50 миллионов записей. При использовании регулярного индекса b-дерева и поиска по этому числовому столбцу я получаю стоимость 7 и результаты запроса примерно через 0,8 секунды (с незагруженным кешем). После добавления глобального хэш-раздела (с 64 разделами) для этого столбца я получаю стоимость 6 и результаты запроса примерно через 0,2 секунды (опять же с незагруженным кешем).Является ли глобально разделенный индекс лучше (быстрее), чем несегментированный индекс?
Моя первая реакция заключается в том, что секционированный индекс улучшил производительность моего запроса. Тем не менее, я понимаю, что это может быть просто совпадением и может полностью зависящим от исследуемых ценностей или другими, о которых я не знаю. Поэтому мой вопрос: есть ли преимущество в производительности для добавления глобального хеш-раздела в числовой столбец на большой таблице или это затраты на определение того, какие индексы для сканирования будут взвешиваться из-за стоимости всего выполнения полного сканирования диапазона на неиндексированный раздел?
Уверен, что, как и многие вопросы Oracle, можно ответить «зависит от этого». :) Мне интересно узнать, какие факторы я должен учитывать, чтобы определить преимущества каждого подхода.
Спасибо!