What is query tree? Why do we need this tree in query processing?
Query tree
A query tree represents a tree data structure representing relational algebra expression. The tables of query trees are represented as leaf the query nodes The relational algebra operations are represented as the Internal nodes. The root represents the query as a whole.
Query Processing is the activities involved in parsing, validating, optimizing, and executing a query. We need this tree in query processing because:
- It reduces the size of the intermediate relations, both in terms of bytes per record as well as a number of records, as soon as possible so that subsequent operations will have fewer data to process and thus execute quicker.
- Operations, such as conjunctive selections, Should be broken down into their equivalent Set of Smaller units to allow the individual units to be moved into"better" positions within the query tree.
- Combining Cartesian products with corresponding selects to create joins-utilizing optimized join algorithms like the sort-merge join and hash join can be orders of magnitude more efficient.
- Move Selects and projects as far down The tree as possible, as these operations will produce smaller intermediate relations that can be processed more quickly by the operations.
Comments
Post a Comment