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


Оптимизаторы с гибкой структурой - часть 3


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

TableAccess (T, C, P) = ¦TableScan (T, C, P) ¦ +FOR ALL i IN I(T): GET (TableScan (i, {TID}, P}, T, C, P) ¦ ¦ IF CONDITION1 L

Это правило при том же смысле параметров T, C и P, что и в предыдущем примере, задает множество допустимых стратегий доступа к отношению. Необходимые пояснения: считается, что каждое отношение включает предопределенное поле с именем TID, содержащее уникальные идентификаторы кортежей. GET - это LOLEPOP, обеспечивающая доступ к кортежу отношения по его TID'у. Наконец, вторая альтернатива будет рассматриваться только в том случаю, если к моменту рассмотрения оптимизатором этого правила условие CONDITION1 будет истинным, и при этом будет порождено множество стратегий доступа к отношению на основе всех определенных на его полях индексов. Заметим, что STAR TableScan, используемое в определении STAR TableAccess, не соответствует приведенному ранее определению Tablescan: в этом определении отсутствовала альтернатива сканирования через индекс. Соответствующее расширение определения очевидно. Еще раз подчеркнем, что альтерантивы STAR TableAccess не являются взаимно исключающими. Это правило порождает множество стратегий.

В результате работы оптимизатора под управлением заданного набора правил порождается множество планов выполнения запроса (QEP - Query Evaluation Plan). Каждый план представляет собой совокупность вложенных вызовов LOLEPOP. Интерпретация каждого плана соответствует выполнению запроса. При этом правила формулируются таким образом, что при выработке каждого плана автоматически формируется его оценка.


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