Коллеги, всем привет! 👋
На связи Денис.
Я тут последнее время ставлю эксперименты над форматами: карусели, квизы, рилсы, видосы. Что-то заходит, что-то не очень 🤷🏻♂️
И вот решил опробовать новую штуку - анимированную визуализацию. Первым подопытным стала база-база: чем индексный доступ отличается от TABLE ACCESS FULL.
Что в видосе?
🔸 Как Oracle спускается по B-дереву: корень → ветка → лист.
🔸 Как в листе находит ROWID и по нему сразу идёт в нужный блок таблицы.
🔸 Что будет без индекса: читаем все блоки подряд, хотя нужна одна строка.
Цифры не нарисованные, прогнал на Oracle 23ai. Таблица на 1 млн строк, первичный ключ, BLEVEL индекса 2:
select * from anim_t where id = 142;
🔹 INDEX UNIQUE SCAN + TABLE ACCESS BY INDEX ROWID - 4 буфера (3 блока индекса + 1 блок таблицы)
🔹 с хинтом
full(anim_t) - TABLE ACCESS FULL - 15 396 буферов. Oracle последовательно читает каждый блок ниже HWM.Цифры брал из
dbms_xplan.display_cursor с форматом ALLSTATS LAST, колонка Buffers.Короче говоря, одна и та же строка, а разница - в 3 849 раз по чтениям.
Теперь главное. Формат для меня новый, поэтому накидайте в панамку 😄 в чатике 💬
🔸 зашло или такое лучше текстом?
🔸 какую тему визуализировать следующей?
Всем хорошего дня 🤝
#oracle #sql #индексы #оптимизация #executionplan #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
📱 YouTube 📱 ВКонтакте 📱 LinkedIn 📱Threads
RUTUBE