Bitmap в Oracle
Друзья, всем привет! 👋
Сегодня мы предлагаем посмотреть на запросы, где вам могут пригодиться bitmap-индексы.
Что это такое❓
Когда на собесах задают вопросы про индексы, зачастую под ними понимаются обычные b-деревья. И если в вашей практике не было DWH-проектов, вы можете удивиться, насколько эти типы индексов отличаются друг от друга.
B-tree:
🔸 эффективен при высокой кардинальности
🔸 хорош при частых DML
🔸 оптимален в OLTP-запросах
🔸 доступен в любой редакции Oracle
Bitmap:
🔸 эффективен при низкой кардинальности
🔸 может залочить таблицу даже при изменении 1 записи
🔸 оптимален в DWH-запросах
🔸 доступен не во всех редакциях Oracle
Битовые операции
В Oracle есть специальные операции (которые можно увидеть в плане запроса) :
Это внутренние операции, которые Oracle применяет для комбинирования нескольких bitmap-индексов:
* BITMAP AND — пересечение (как
* BITMAP OR — объединение (как
💡 Они позволяют строить результат до обращения к таблице, опираясь только на битовые карты.
Это невероятно ускоряет сложные фильтрации, особенно в аналитических системах, где много колонок с низкой кардинальностью и тяжелых
🎙Если вдруг вы впервые слышите про
Там мы разберём:
✅ Как Oracle комбинирует индексы
✅ Как это всё увидеть в плане запроса
✅ Где bitmap-индексы действительно полезны
✅ И когда они превращаются в тормоз ⛔️
Следите за новостями — скоро будет 🔥
#оптимизация #bitmap #курс #oracle #индексы #oracle #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Друзья, всем привет! 👋
Сегодня мы предлагаем посмотреть на запросы, где вам могут пригодиться bitmap-индексы.
Что это такое
Когда на собесах задают вопросы про индексы, зачастую под ними понимаются обычные b-деревья. И если в вашей практике не было DWH-проектов, вы можете удивиться, насколько эти типы индексов отличаются друг от друга.
B-tree:
🔸 эффективен при высокой кардинальности
🔸 хорош при частых DML
🔸 оптимален в OLTP-запросах
🔸 доступен в любой редакции Oracle
Bitmap:
🔸 эффективен при низкой кардинальности
🔸 может залочить таблицу даже при изменении 1 записи
🔸 оптимален в DWH-запросах
🔸 доступен не во всех редакциях Oracle
Битовые операции
В Oracle есть специальные операции (которые можно увидеть в плане запроса) :
BITMAP AND
и BITMAP OR
. Это внутренние операции, которые Oracle применяет для комбинирования нескольких bitmap-индексов:
* BITMAP AND — пересечение (как
WHERE a=… AND b=…
)* BITMAP OR — объединение (как
WHERE a=… OR b=…
)💡 Они позволяют строить результат до обращения к таблице, опираясь только на битовые карты.
Это невероятно ускоряет сложные фильтрации, особенно в аналитических системах, где много колонок с низкой кардинальностью и тяжелых
GROUP BY
.🎙Если вдруг вы впервые слышите про
BITMAP AND
и BITMAP OR
, или просто хотите понять, как и когда Oracle их применяет, то уже совсем скоро мы откроем анкету предзаписи на 6-й поток по оптимизации запросов 🎓Там мы разберём:
✅ Как Oracle комбинирует индексы
✅ Как это всё увидеть в плане запроса
✅ Где bitmap-индексы действительно полезны
✅ И когда они превращаются в тормоз ⛔️
Следите за новостями — скоро будет 🔥
#оптимизация #bitmap #курс #oracle #индексы #oracle #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM