The efficiency and other measures of the optimizer are very dependent on the rules defined (and enabled) in the model.

Table 7.1: Rules Used for Results in this Section
Rule Description
1.  AGGREGATE_THRU_EQJOIN Aggregation push-down rule 1
2.  AGGREGATE2_THRU_EQJOIN Aggregation push-down rule 2
3.  PROJECT_THRU_EQJOIN Push Project through an EQJOIN
4.  PROJECT_THRU_AGG_LIST Push Project through an AGG_LIST
5.  PROJECT_THRU_FUNC_OP Push Project through a FUNC_OP
6.  PROJECT_THRU_SELECT Push Project through a SELECT
7.  EQJOIN Commutativity A || B    B || A
8.  LTOR EQJOIN Associativity (A || B) || C    A || (B || C)
9.  EQJOIN Commutativity A || B    B || A          (Left Deep Only)
10.  EQJOIN Exchange (A || B) || C    (A || C) || B      (Left Deep Only)
w/ or w/o NOCART (No Cartesian Products Option)
12.  SORT_RULE Sort Enforcement Rule
13.  GET_TO_FILE_SCAN FILE_SCAN implements GET
14.  RM_TO_HASH_DUPLICATES HASH_DUPLICATES implements REMOVE_DUPLICATES
15.  AGGLIST_TO_HGROUP_LIST HGROUP_LIST implements AGG_LIST
16.  PROJECT_TO_PHYSICAL_PROJECT PHYSICAL_PROJECT implements PROJECT
17.  FUNC_OP_TO_PHYSICAL_FUNC_OP PHYSICAL_FUNC_OP implements FUNC_OP
18.  ORDER_BY_TO_QSORT QSORT implements ORDER_BY
19.  SELECT_TO_FILTER FILTER implements SELECT
20.  SELECT_TO_INDEXED_FILTER INDEXED_FILTER implements SELECT
21.  EQJOIN_TO_HASH_JOIN HASH_JOIN implements EQJOIN
22.  EQJOIN_TO_BIT_SEMIJOIN BIT_SEMIJOIN implements EQJOIN, SELECT, PROJECT
23.  EQJOIN_TO_LOOPS_INDEX_JOIN LOOPS_INDEX_JOIN implements EQJOIN
24.  EQJOIN_TO_MERGE_JOIN MERGE_JOIN implements EQJOIN
25.  EQJOIN_TO_LOOPS_JOIN LOOPS_JOIN implements EQJOIN


7. Results:    <Extensibility> <Efficiency> <Heuristics> <Accuracy> <Quality> <Agg Push Down> <Indices>
  7.1: Rules     7.2: Efficiency     7.3: Statistics     7.4: Heuristics     7.5: Search Space     7.6: Cardinalities     7.7: Costs     7.8: Agg     7.9: Indices  

 Page 2