Методы оптимизации выполнения запросов в реляционных СУБД


Оптимизация наборов запросов


Как мы отмечали во введении к этому разделу, с появлением систем, обеспечивающих интерфейс доступа к хранимым данным более высокого уровня, чем в традиционных реляционных СУБД, становится жизненной ситуация, когда СУБД предоставляется одновременно набор запросов, соответствующий одному запросу внешнего интерфейса системы. Поскольку в этом случае СУБД располагает большей информацией, чем в случае пооочередного поступления запросов, и целью СУБД является выполнение всех запросов набора, то естественно и возможно производить совместную оптимизацию запросов, входящих в набор. Интуитивно ясно, что даже если для каждого запроса набора выработан оптимальный индивидуальный план выполнения, при некоторых условиях может быть сгенерирован глобальный план выполнения набора запросов, обеспечивающий большую суммарную эффективность.

Естественным условием, при котором глобальная оптимизация может принести эффект, является наличие каких-либо общих свойств у запросов, составляющих набор. Примером общего свойства нескольких запросов является наличие у них общего подзапроса. Природа возникновения наборов запросов такова, что наличие такого рода общих свойств достаточно вероятно.

В наиболее общей форме эффект глобальной оптимизации состоит в том, что действия, требуемые для выполнения более, чем одного запроса, выполняются для набора только один раз. Тем самым, основной задачей глобальной оптимизации является выявление таких общих действий и формирование глобального плана выполнения набора запросов, в котором учитывается одноразовое выполнение общих действий.

Поэтому основным действием при глобальной оптимизации является анализ набора запросов на предмет наличия общих свойств. Как правило, эта задача формулируется и решается в терминах поиска общих подвыражений в реляционных выражениях, соответветствующих запросам группы. Различные подходы описываются в работах [111, 117, 120-121].

Как обычно, в результате глобальной оптимизации могут порождаться различные глобальные планы. Это может следовать и из различных способов декомпозиции набора запросов, и из того, что для каждого декомпозированного представления могут существовать несколько стратегий реального выполнения.


Начало  Назад  Вперед



Книжный магазин