Меню

Оптимизация доступа к данным в средах SAP при помощи Oracle Cost Based Optimizer (CBO)

|

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

За последние несколько лет автор изучил множество претензий, связанных со снижением производительности системы из-за того, что оптимизатором CBO выбирались не самые быстрые или эффективные способы доступа к табличным данным. Зачастую обнаруживалось, что предоставляемая CBO статистика и настройки (как установленные по умолчанию, так и указанные администратором) недостаточны для выбора оптимального решения. В то же время, неудачное решение CBO может существенно повлиять на производительность базы данных и всей системы в целом. Например, решение о полном сканировании таблицы вместо использования избирательного индекса может привести к тому, что извлечение данных будет происходить в тысячу раз медленнее. Для оптимизации доступа к данным и повышения производительности базы данных необходимо понимание принципа действия CBO и знание способов решения проблем с производительностью, которые могут стать следствием работы этого оптимизатора.

Эта статья предназначена для администраторов баз данных Oracle, занимающихся диагностикой проблем, связанных с медленным выполнением операторов Structured Query Language (SQL), а также для разработчиков SAP, стремящихся предотвратить потенциальное снижение производительности SQL в своих программах. Сначала рассматриваются настройки процесса и конфигурации, используемые CBO для определения способа доступа к данным. Затем описываются используемые при принятии решения факторы, процесс принятия решения прослеживается на примере модельных данных, а также объясняется, почему оптимизатор CBO иногда выдает неожиданные результаты. Кроме того, в этой статье приведены основные приемы диагностирования и устранения проблем с производительностью. Особое внимание уделено проблемам, которые могут возникнуть в средах SAP.

Внимание!

Эта статья рассчитана на читателей, имеющих опыт анализа SQL-операторов в Oracle и знакомых с решением Oracle Cost Based Optimizer (CBO).

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти

Обсуждения Количество комментариев2

Комментарий от  

Игорь Полушкин

  |  07 июля 2010, 13:01

Хорошая статья. Понятно, что здесь освещены не все возможности. Но она послужит в качестве отправной точки для дальнейшего изучения.

Комментарий от  

Сергей Передовой

  |  23 июля 2010, 16:23

Полезная статья. Однако с полной понятностью у меня возникли проблемы.