Oracle Developer👨🏻‍💻
3.17K subscribers
583 photos
63 videos
2 files
469 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
Bitmap в Oracle

Друзья, всем привет! 👋

Сегодня мы предлагаем посмотреть на запросы, где вам могут пригодиться 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