Развитие идей и приложений реляционной СУБД System R


Оптимизация в System R - часть 6


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

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

Набор оценочных формул, применяемых в оптимизаторе System R, описан в [19].

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

1) предполагается, что значения всех полей любого отношения распределены независимо;

2) предполагается, что значения любого поля любого отношения распределены равномерно.

Если эти предположения оправданы, то упомянутые оценки можно достаточно точно производить по простой статистической информации: достаточно знать статистические оценки числа кортежей в отношении и числа различных значений ключа в каждом индексе. Так и поступает оптимизатор System R. Для того, чтобы избежать накладных расходов на обновление статистики при выполнении каждой операции занесения, удаления или модификации кортежей, статистика собирается и обновляется только в ходе выполнения специальной утилиты сбора статистики.

В заключение заметим, что в настоящее время существует ряд работ, авторы которых пытаются решить проблему более точных оценок, используя достаточно простую статистику.Мы остановимся на этом в отдельной статье [75].

| |




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