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