В Oracle 11g, скажем, у меня есть таблица Task
, в которой есть столбец ProcessState
. Значения этого столбца могут быть Queued
, Running
и Complete
(в будущем может быть еще несколько состояний). В таблице будет более 50 миллионов данных, причем 99,9% строк имеют Complete
в качестве значения столбца. Только несколько тысяч строк будут иметь значение Queued
/Running
.
Я читал, что, хотя индекс bitmap
хорош для столбца с низкой кардинальностью, он в основном используется для статических таблиц.
Итак, какой индекс может улучшить запрос для Queued
/Running
задач? bitmap
или обычный неуникальный b-tree
индекс?
Кроме того, какой индекс может улучшить запрос для двоичного столбца (NUMBER(1,0)
только со значениями yes
/no
)?
Отказ от ответственности: я случайный dba.
select task_id from task where processstate=0
(ожидается только ‹ 500 строк). - person mshsayem   schedule 22.02.2016