Я смотрю на добавление индексов растрового соединения в базу данных 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