1 неделю назад
Зачем нужен Index Skip Scan? Продолжение
Зачем нужен Index Skip Scan? Продолжение Друзья, всем привет! 👋 С вами Костя Андронов 🙂 В понедельник мы опубликовали вопрос про Index Skip Scan от одного из наших студентов с 6 потока по оптимизации Что такое Index Skip Scan?🤔 Это один из методов доступа к данным через индекс. Обычно он используется, когда в таблице есть составной индекс, но в предикатах запроса отсутствуют лидирующие колонки. Рассмотрим на примере. Пусть у нас есть таблица employees и индекс: create index emp_name_ix on employees(last_name, first_name) Как выглядят листовые блоки этого индекса? В них хранятся все пары last_name, first_name в отсортированном виде, и для каждой — rowid строки...
3 дня назад
Происшествие с индексом
Происшествие с индексом. Ответ Друзья, всем привет! 👋 С вами Костя Андронов 🙂 В понедельник мы опубликовали пост с интересной ситуацией, которую я показывал на одной из практик курса «Оптимизация Oracle SQL». Несмотря на идеальные условия для применения индекса (селективность предиката — всего 1,6%), Oracle выбирает Table Access Full вместо Index Range Scan 😱 Разбираемся, почему это произошло. 📌 Как Oracle выбирает метод доступа к данным? На этапе hard-parse оптимизатор строит планы с разными методами доступа и оценивает их «стоимость» для конкретного запроса. Получается, он решил, что обойти всю таблицу «дешевле», чем использовать индекс...
06:44
1,0×
00:00/06:44
701,6 тыс смотрели · 4 года назад