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


Глобальные оптимизации в реляционных системах управления базами данных


Рассматриваемые до сих пор оптимизационные преобразования запросов, улучшенные структуры хранения реляционных данных и стратегии выполнения реляционных операций были направлены на повышение эффективности отдельных запросов к базе данных. Существует другая постановка задачи оптимизации, когда преследуется цель повышения эффективности смеси запросов. Соответствующие оптимизационные приемы относятся к \2глобальной\1 оптимизации физических управляющих структур баз данных и планов выполнения заданного набора запросов.

Имеется два направления глобальной оптимизации, не являющихся взаимно исключающими. Первое направление можно назвать \2статистической глобальной оптимизацией\1. Цель такой оптимизации - автоматическое (или автоматизированное) поддержание в базе данных на основании статистической информации набора управляющих структур, позволяющего эффективно выполнять запросы из имеющегося потока запросов. Фактически, это означает улучшение физической структуры базы данных относительно текущего потока запросов. Этот подход не предполагает априорных знаний о специфике смеси запросов, поскольку основывается только на статистике. Предполагается, что свойства запросов в потоке обладают инерционностью, т.е. на основе информации об уже выполненных запросах можно делать оценивать свойства будущих запросов. На практике это предположение, как правило, подтверждается.

Второе направление в последнее время обычно называют \2оптимизацией набора запросов\1. Соответствующие оптимизации расчитаны на то, что система получает запросы не по одному, а целыми наборами. Эта ситуация невозможна в традиционных реляционных СУБД, интерфейсы которых предполагают поочередное выполнение запросов, но становится жизненной в более сложных системах, использующих СУБД в качестве средства поддержки. К таким системам относятся системы дедуктивных баз данных, системы логического программирования и т.д. Их объединяет то свойство, что наряду с базами данных в них хранятся наборы правил логического вывода, позволяющие порождать новые данные (факты) на основе фактов, хранимых в базе данных.


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