Determine the Sub-Clause Types
When the Query Processor has created a list of the sub-clauses in your query, it begins to categorize the sub-queries according to type. By categorizing the sub-queries, the Query Processor can perform the remaining phases of the optimization algorithm more efficiently.
There are five categories of sub-clause:
- No-Dependency Sub-Clauses
- Constraint Sub-Clauses
- Access Sub-Clauses
- Filter Sub-Clauses
- Link Sub-Clauses.
When the Query Processor has categorized the sub-clauses, it places some of the sub-clauses in internal lists and some in the filter condition for the tables that are referenced. It uses the internal lists and filter conditions in a later phase of the algorithm. For example, the Query Processor places the access sub-clauses in an internal list so that when it needs to check the access sub-clauses for later phases of the algorithm, it can find the access sub-clauses quickly and efficiently.
When the Query Processor has categorized the sub-queries, it will proceed with the next phase of the SQL Optimization algorithm: Calculate the Table Order Permutations.