A query optimizer determines the applicability of materialized views to a
query. View utilization alternatives are generated in the exploration
stage of optimization, so that interaction with other transformations in
complex queries is taken into account. A final decision on whether to use
a materialized view is based on estimated cost. The optimizer generates a
table of alternatives, which compactly encodes the various possibilities
for each sub-expression of the query. Optimal-cost operator trees are
extracted from this table. Materialized views are detected and substituted
during exploration of the various possibilities and added to the table of
alternatives. Materialized views and the alternatives are selected for use
in a query execution plan based on cost. When two operator trees are not
identical, a residual operator can be used if one operator tree subsumes
the other operator tree. The residual expression can contain operators
such as filters, group by and join.
Un optimiseur de question détermine l'applicabilité des vues matérialisées à une question. Des solutions de rechange d'utilisation de vue sont produites dans l'étape d'exploration de l'optimisation, de sorte que l'interaction avec d'autres transformations dans des questions complexes soit prise en considération. Une décision finale dessus si employer une vue matérialisée est basée sur le coût estimatif. L'optimiseur produit d'une table des solutions de rechange, qui code de manière compacte les diverses possibilités pour chaque secondaire-expression de la question. des arbres d'opérateur d'Optimal-coût sont extraits à partir de cette table. Des vues matérialisées sont détectées et substituées pendant l'exploration des diverses possibilités et ajoutées à la table des solutions de rechange. Des vues matérialisées et les solutions de rechange sont choisies pour l'usage dans un plan d'exécution de question basé sur le coût. Quand deux arbres d'opérateur ne sont pas identiques, un opérateur résiduel peut être employé si un arbre d'opérateur englobe l'autre arbre d'opérateur. L'expression résiduelle peut contenir des opérateurs tels que des filtres, les grouper près et se joindre.