8
правок
Изменения
Исправлены тире
===Составной битовый индекс===
Представляет из себя битовый индекс, построенный на нескольких столбцах. Каждый столбец таблицы, на котором строится индекс, соответствует своему набору столбцов в битовом индексе. При этом индексы могут быть как с накоплением, так и без: например, одному столбцу соответствует обычный битовый индекс, а другому {{- --}} битовый индекс с накоплением.
===Оптимизация битового индекса===
Основным преимуществом битовых индексов является небольшой объём памяти для хранения, в большинстве случаев их можно хранить в памяти целиком. Кроме того, существуют техники сжатия битовых индексов:
* RLE-кодирование (эффективно, так как в обычных битовых индексах хранится много нулей, и максимум одна единица)
* Byte-aligned Bitmap Code {{- --}} индексы хранятся в упакованном виде, логические операции проводятся сразу же над ними, распаковка происходит только, когда это необходимо.
Недостатком оптимизированного хранения является сложность перестроения, что увеличивает время работы на их поддержание.
Примеры селективности:
* Процент записей, получаемый по значению
* Среднее: $\operatorname{count}(distinct) / count$ {{- --}} количество различных значений по отношению к общему числу значений* Худшее: $\max(count) / count$ {{--- }} размер максимального из значений по отношению к общему числу значений
Примеры индексов и их селективности:
'''Покрывающим индексом''' назвается упорядоченный индекс, хранящий не только столбцы, по которым осуществляется поиск, но и дополнительные столбцы, загружающиеся вместе со столбцами для поиска.
}}
После поиска, для получения значений столбцов, хранящихся в покрывающем индексе, не требуется обращаться к записи {{- --}} эта информация уже получена из индекса. С другой стороны, покрывающие индексы имеют повышенную высоту дерева и занимают больше памяти.
Покрывающие индексы очень полезны при покрытии идентификаторов: ветвимость дерева уменьшается незначительно (особенно, если в столбцах для поиска есть строки), и при этом не требуется обращаться непосредственно к записям.