RECORDING LINEAGE IN QUERY OPTIMIZATION
A database system includes a query optimizer which applies transformations to a logical representation of an input query in a declarative query language to generate expressions for a query execution plan. The query optimizer stores information, for each rule application, indicating a transformation...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A database system includes a query optimizer which applies transformations to a logical representation of an input query in a declarative query language to generate expressions for a query execution plan. The query optimizer stores information, for each rule application, indicating a transformation applied and bindings for the transformation, the bindings indicating expressions input to the transformation. When a new query execution plan is to be generated for the input query, the query optimizer uses this stored information, for expressions in an original query execution plan, to guide the query optimizer to produce a current query execution plan while avoiding transformations not used to generate expressions in the original query execution plan.
L'invention concerne un système de base de données qui comprend un optimiseur de requête qui applique des transformations à une représentation logique d'une requête d'entrée dans un langage de requête déclaratif pour générer des expressions pour un plan d'exécution de requête. L'optimiseur de requête stocke des informations, pour chaque application de règle, indiquant une transformation appliquée et des liaisons pour la transformation, les liaisons indiquant des expressions entrées dans la transformation. Lorsqu'un nouveau plan d'exécution de requête doit être généré pour la requête d'entrée, l'optimiseur de requête utilise ces informations stockées, pour des expressions dans un plan d'exécution de requête d'origine, pour guider l'optimiseur de requête à produire un plan d'exécution de requête actuel tout en évitant les transformations non utilisées pour générer des expressions dans le plan d'exécution de requête d'origine. |
---|