Могу ли я использовать условные значения в сочетании с индексами объединения растровых изображений? - PullRequest
0 голосов
/ 02 января 2019

Я смотрю на добавление индексов растрового соединения в базу данных Oracle 11g для таблицы, которая содержит приблизительно 1 миллиард строк. Он обновляется только в выходные дни раз в месяц. Моя таблица фактов содержит 80 нечетных столбцов и объединена со многими таблицами измерений. Большинство столбцов имеют меньшее количество элементов по сравнению с количеством строк (все меньше, чем 0,001%).

Теперь мой вопрос: если я построил индекс соединения растрового изображения, как показано ниже (field1 - это PK на обоих):

CREATE BITMAP INDEX testidx_1
on fact(dimension.field2)
from fact, dimension
where fact.field1 = dimension.field1;

Я понимаю, если я тогда сделаю

select fact.fieldx, fact2.fieldy, dimension.field2
from fact, dimension
where fact.field1 = dimension.field1;

что он будет оптимально использовать индекс соединения растрового изображения.

НО, скажи, что я вставил что-то вроде этого:

select fact.fieldx, fact2.fieldy, dimension.field2
from fact, dimension
where fact.field1 = dimension.field1
and dimension.field2 = 'somevalue'

не будет ли тогда использоваться индекс соединения растровых изображений? Должен ли я создавать BJI для каждого условного значения, которое я хотел выбрать?

Я использовал это для справки: https://logicalread.com/oracle-11g-best-uses-bitmap-join-index-mc02/#.XCz2oVxKiUl

...