Российская СУБД №1 - РЕД База Данных
Получение плана выполнения запроса с помощью EXPLAIN PLAN
Любой запрос, даже без условия во WHERE и без джоинов с таблицами, будет выполняться по какому-то плану. СУБД (например, ORACLE или MS SQL Server) может оценить запрос до его выполнения, то есть то, как он будет выполнен и дать примерную оценку своих трудозатрат на каждый этап действий (сколько примерно данных с жёсткого диска будет прочитано, сколько нужно процессорных ресурсов для просчёта чего-либо или для расстановки данных в нужном порядке и т.д). В разных программах работы с базами данных получение плана запроса может быть более удобным чем в других программах...
⚡️ Cardinality Feedback — как запрос «учится» на ходу
Друзья, всем привет! 👋 Хотим поделиться с вами кейсом нашего ученика и давнего подписчика Олега. Ему слово. Есть запрос, построенный на двух view. Он долго отрабатывал из-за неверного типа соединения, я добавил хинты, стало лучше. Но.. • первый запуск - 6 минут ⏳ • второй запуск - уже 12 секунд 🚀 🕵️♂️ Что происходит? Залез в v$sql_shared_cursor и увидел несколько child-курсоров. Разница - в планах выполнения и флаге USE_FEEDBACK_STATS. В «быстром» плане было примечание: cardinality feedback used...