Классика баз данных - статьи




Обзор средств обработки запросов - часть 2


Расслаивающие (striping) диски контроллеры поддерживаются прозрачно для процессора запросов (без специфичной для устройства оптимизации). Большие двоичные объекты сохраняются как сегментированные строки, указатели на которые помещаются в записи. Все части базы данных могут быть записаны на устройства с одноразовой записью, к которым впоследствии производится доступ для выборки данных.

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

Оптимизатор запросов Rdb выполняет комбинаторный поиск наилучшего плана, используя исчерпывающий поиск и производя «глубокие слева» (left-deep) деревья выполнения. Наилучший план может быть сохраняться, измененяться и повторно использоваться средством «query outline» (V6.0). Стратегии выполнения соединений включают вложенные циклы, слияние и специальные разновидности слияния для внешнего и полного соединения; соединение объединением (union-join) производится через полное соединение (последние три варианта в V6.0). Ограничения проталкиваются через соединения, объединения и агрегаты к обращениям к индексам и таблицам, включая дополнительные конъюнкты, порождаемые из классов эквивалентности (последняя особенность в V6.0).

Имеются следующие стратегии извлечения данных: последовательное сканирование таблицы, индексный доступ с чтением или без чтения записей, доступ по ID записи и стратегия Leaf, динамически оптимизирующая доступ через один или более индексов.


Содержание  Назад  Вперед