Базы данных Oracle - статьи


              

Однако имеются случаи, когда последовательность


общая факторизация подвыражений (common sub-expression factorization),


  • слияние представлений "селекция-проекция-соединение" (SPJ view merging),
  • устранение соединений (join elimination),


  • устранение вложенности подзапросов (subquery unnesting),
  • слияние представлений с группировкой (group-by (distinct) view merging),


  • упрощение группировки (group pruning),
  • перемещение предикатов (predicate move around),
  • преобразование операций над множествами в соединения (set operator into join),


  • размещение группировки (group-by placement),
  • вытягивание предиката (predicate pullup),
  • факторизация соединений (join factorization),
  • преобразование дизъюнкции в объединение (disjunction into union-all),
  • преобразование "звезда" (star transformation),
  • и проталкивание предикатов соединения (join predicate pushdown).


  • Однако имеются случаи, когда последовательность преобразований не соблюдается. Преобразования могут образовывать конструкции, которые могут повлечь за собой повторение других преобразований, например, преобразование операций над множествами в соединения может образовать SPJ-представление (селекция-проекция-соединение), и, следовательно, могут снова применяться слияние представлений SPJ и проталкивание предикатов фильтрации (filter predicate pushdown). Некоторые преобразования взаимодействуют друг с другом и должны рассматриваться вместе, чтобы можно было принять правильное решение, основанное на оценке стоимости; это обсуждается в подразделе 3.3.


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