2008-10-31

Какие колонки подходят для битовых индексов

Вовсе не те, которые имеют маленькие NDV, а те, комбинации которых дают маленькую селективность. Проблема в том, что после обработки битовых индексов получаются коллекции из ROWID. Для получения строк из таблицы используются одноблочные чтения, что не совсем эффективно для непрогретого буфера данных (в этом случае фуллскан таблицы сработает быстрее).

Оптимизатор сам примет решение о FULLSCAN, если индексы дадут низкую селективность.

Подробности тут