Разница между B-Tree и Bitmap

B-дерево и растровое изображение

В Oracle используются два типа индексов. Это B-Tree и Bitmap. Эти индексы используются для настройки производительности, что делает поиск записей и их получение довольно быстрыми. Индексные функции создают запись для всех значений, которые появляются в индексированных столбцах. Индексы B-Tree - это тип, используемый системами OLTP и в основном реализованный по умолчанию. С другой стороны, растровое изображение имеет формат индекса с высокой степенью сжатия, который в большинстве случаев используется в хранилищах данных..

Растровое изображение в общем случае может упоминаться как метод индексации, хотя какие преимущества в производительности и экономии памяти можно искать. Его использование, как было указано ранее, в основном в среде хранилищ данных. Причина этого в том, что обновления данных происходят не так часто, а специальные запросы чаще встречаются в среде. В реализации Bitmap предпочтение отдается низким кардинальным данным. Растровое изображение является предпочтительным выбором для элементов столбцов, которые имеют низкие параметры, такие как пол, которые будут иметь только 2 значения и являются предпочтительными. Статические данные в хранилище также являются хорошей характеристикой данных, которые были бы превосходно реализованы с использованием Bitmap. Другой характеристикой битовой карты является поток битов, посредством которого каждый бит реализуется в значение столбца в одной строке таблицы..

С другой стороны, индекс B-дерева - это индекс, созданный для столбцов, содержащих очень уникальные значения. Индекс B-Tree имеет упорядоченные записи, где каждая запись имеет значение ключа поиска и указатель, который ссылается на данную строку и значение. В случае, если сервер обнаружит соответствующее ограничение, которое относится к рассматриваемому значению, указатель развертывается для извлечения строки.

Одно из различий между ними заключается в том, что в B-Tree мало дублирования и высокая ко-сердечность, а в битовой карте происходит обратное. Растровое изображение имеет высокий уровень дублирования и низкую сердечность. Считается, что индекс растрового изображения имеет преимущество перед индексом B-Tree, поскольку в нем есть таблицы с миллионами строк, поскольку указанные столбцы имеют низкую мощность. Следовательно, индексы в Bitmap обеспечивают лучшую производительность, чем индексы B-Tree..

B-деревья кажутся чрезвычайно быстрыми, когда собирается небольшой набор данных, в большинстве случаев данные не должны превышать 10% размера базы данных. Эти два работают вместе, когда есть много различных значений, которые индексируются. Для B-Tree также уникально то, что несколько индексов могут быть объединены для создания очень эффективной программы. Растровое изображение, с другой стороны, имеет тенденцию работать лучше, когда есть более низкие индексированные значения для максимальной эффективности.

B-деревья плохи, когда дело доходит до поиска больших подмножеств данных, которые превышают 10% данных подмножества. Bitmap решает эту проблему для получения высококачественных результатов, поскольку работает лучше, когда имеется несколько различных значений.

Если в занятой таблице есть много индексов, использующих B-Tree, проблема может возникнуть из-за небольших штрафов, налагаемых при вставке индексированных данных, или в случае, если вам необходимо вставлять и обновлять индексированные данные. Это не проблема с Bitmap, так как он очень эффективен при вставке и обновлении значений, независимо от размера, о котором идет речь.

Резюме

B-Tree и Bitmap - два типа индексов, используемых в Oracle
Растровое изображение - это метод индексации, обеспечивающий повышение производительности и экономию хранилища.
Индекс B-Tree - это индекс, который создается для столбцов, содержащих очень уникальные значения
B-Tree лучше всего работает со многими различными индексированными значениями
Растровое изображение лучше всего работает со многими различными индексированными значениями