Оптимизатор Oracle

В большинстве случаев, когда пользователь издает запрос к базе данных, существует более одного способа обращения к таблицам и извлечения данных. Поскольку существует много способов выполнения одного и того же оператора, Oracle использует стоимостной оптимизатор (Cost-Based Optimizer — CBO) для выбора лучшего плана выполнения запросов на основе стоимости запроса, выраженной в используемых ресурсах.

Оптимизация запросов — основа современных реляционных баз данных и существенная часть того, как Oracle выполняет свою работу. Оптимизатор запросов прозрачен для пользователей, и Oracle автоматически выбирает наилучшие методы доступа и соединения таблиц для ваших запросов перед тем, как начать их обработку.


На заметку! Чтобы выбрать наилучший план обработки, Oracle использует статистику по таблицам и индексам, которая включает подсчет количества строк и распределения “среза” данных из таблиц базы. (Статистика физического хранения и распределения данных по всем таблицам и индексам, столбцам и разделам хранится в различных таблицах словаря данных.) Вооруженный этой информацией, оптимизатор обычно с успехом выбирает наилучший путь доступа к необходимым данным для выполнения оператора SQL. Oracle также позволяет использовать подсказки (hints), чтобы переопределить выбранный оптимизатором план выполнения. Это связано с тем, что в некоторых случаях знание разработчика приложения о данных позволяет использовать более эффективные планы, чем может выбрать оптимизатор.


Мы детально поговорим об оптимизаторе Oracle в будущих статьях блога в контексте настройки производительности.


Совет. Вы можете также использовать оптимизатор Oracle в расширенном режиме настройки, как будет показано в новых заметках. Оптимизатор Oracle в режиме настройки — основа средства SQL Tuning Advisor, также будет описан далее. Читайте мой блог!


 

Вас заинтересует / Intresting for you:

Oracle Personal Edition
Oracle Personal Edition 5969 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Oracle alerts: генерируемые се...
Oracle alerts: генерируемые се... 7242 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:18:05
Установка Oracle 11g на Linux
Установка Oracle 11g на Linux 22984 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Демонстрационные образцы схем,...
Демонстрационные образцы схем,... 6358 просмотров Андрей Волков Wed, 28 Mar 2018, 17:46:01
Печать
Войдите чтобы комментировать

OraCool аватар
OraCool ответил в теме #8457 6 года 11 мес. назад
Толкова написанная статья. Я в свое время пол интеренет перерыл, чтобы найти нормальное описание оптимизатора Oracle Database. В этой статье все рассказано очень подробно и доступным языком - самое то для начинающих специалистов.