Use of connectivity analysis to assist rule-based optimizers
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving a normalized query tree;
dividing the normalized query tree into regions of multiple join backbones that refer to multi-way joins between two or more relational expressions;
analyzing the regions of the normalized query tree to collect information about;
join operators and their children, andtables in an associated query; and
making said information available to a rule based optimizer that produces, from the normalized query tree, an execution plan that visits only parts of a search space rather than using a pruning technique to reduce the search space.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems receive a normalized query tree and analyze the tree to collect information about join operators and their children, and tables in an associated query. This information is then made available to a rule based optimizer that is configured to produce, from the normalized query tree, an execution plan. In addition, in at least some embodiments, an extensible framework is provided for join order optimization via the use of a multi-join operator and multi-join rules as part of the general framework of a query optimizer.
-
Citations
18 Claims
-
1. A computer-implemented method comprising:
-
receiving a normalized query tree; dividing the normalized query tree into regions of multiple join backbones that refer to multi-way joins between two or more relational expressions; analyzing the regions of the normalized query tree to collect information about; join operators and their children, and tables in an associated query; and making said information available to a rule based optimizer that produces, from the normalized query tree, an execution plan that visits only parts of a search space rather than using a pruning technique to reduce the search space. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method comprising:
-
receiving a normalized query tree; recursively traversing the normalized query tree and assigning analysis constructs as follows; (a) creating a node analysis object with table analysis object for each scan expression and assigning the node analysis object to a group analysis object of a group attributes object of the associated scan node; and (b) assigning a node analysis object with join backbone child object to individual expressions that are children of a join expression, the node analysis object being assigned to a group analysis object of a group attributes object of the join expression; invoking a join backbone analysis task that associates join backbone children with their associated join backbone parents and computing relationships between sibling join backbone children; invoking a table connectivity analysis task that captures connectivity relationships between different base columns and base tables in a query; and using the join backbone analysis task and the table connectivity analysis task to produce an execution plan that visits only parts of a search space rather than using a pruning technique to reduce the search space. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processors; one or more computer-readable media; computer-readable instructions on the one or more computer-readable media which, when executed by the one or more processors, cause the one or more processors to implement a method comprising; dividing the normalized query tree into regions of multiple join backbones that refer to multi-way joins between two or more relational expressions; receiving a normalized query tree; analyzing the regions of the normalized query tree to collect information about; join operators and their children, and tables in an associated query; and making said information available to a rule based optimizer that produces, from the normalized query tree, an execution plan that visits only parts of a search space rather than using a pruning technique to reduce the search space. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification