Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
admin:optimization:config:optimizations [2012/02/07 19:58]
doc
admin:optimization:config:optimizations [2016/06/28 22:38] (current)
Line 22: Line 22:
 === OPTIMIZATION === === OPTIMIZATION ===
  
 +The OPTIMIZATION setting controls the approaches available to Omnidex when it optimizes a query. ​ This setting can be set using an option on the SELECT statement, or with a SET OPTIMIZATION command:
 +
 +<​code>​
 +select ... with OPTIMIZATION='​setting1,​setting2,​setting3,​...'​
 +</​code>​
 +
 +<​code>​
 +set optimization setting1,​setting2,​setting3,​...
 +</​code>​
 +
 +The OPTIMIZATION settings are shown in the table below. ​ The default setting is shown in **bold**.
  
 |<100% 20% 20% 60% >| |<100% 20% 20% 60% >|
-Allow optimization ^ Disallow ​optimization ​   ^ Description ​                                ^+Setting to \\ allow optimization ^ Setting to \\ disallow ​optimization ^ \\ Description ​                                ^
 | **QUAL** ​          | NO_QUAL ​                 | Omnidex can use indexes to perform qualifications,​ usually to process criteria in the WHERE clause. | | **QUAL** ​          | NO_QUAL ​                 | Omnidex can use indexes to perform qualifications,​ usually to process criteria in the WHERE clause. |
 | **AGGREGATION** ​   | NO_AGGREGATION ​          | Omnidex can use indexes to perform aggregations,​ including grouped counts, distinct counts, sums, averages, mins and maxes. | | **AGGREGATION** ​   | NO_AGGREGATION ​          | Omnidex can use indexes to perform aggregations,​ including grouped counts, distinct counts, sums, averages, mins and maxes. |
Line 34: Line 45:
 | **SORTMERGE** ​     | NO_SORTMERGE ​            | Omnidex can perform a sort/merge join operation between two tables in order to improve performance. | | **SORTMERGE** ​     | NO_SORTMERGE ​            | Omnidex can perform a sort/merge join operation between two tables in order to improve performance. |
 | **HDC** ​           | NO_HDC ​                  | Omnidex can use a temporary Hashed Data Cache for improved performance. | | **HDC** ​           | NO_HDC ​                  | Omnidex can use a temporary Hashed Data Cache for improved performance. |
-| **LINK** ​          | NO_LINK ​                 | Omnidex can use indexes to perform table joins. |+| **LINK** ​          | NO_LINK ​                 | Omnidex can use indexes to perform table joins.\\  \\   |
 | **PRIKEY** ​        | NO_PRIKEY ​               | Omnidex can favor using the underlying databases primary key indexes rather than using Omnidex indexes. | | **PRIKEY** ​        | NO_PRIKEY ​               | Omnidex can favor using the underlying databases primary key indexes rather than using Omnidex indexes. |
 | **STARSCHEMA** ​    | NO_STARSCHEMA ​           | Omnidex can perform intermediate aggregations in the fact table of a star schema prior to accessing the dimension tables. | | **STARSCHEMA** ​    | NO_STARSCHEMA ​           | Omnidex can perform intermediate aggregations in the fact table of a star schema prior to accessing the dimension tables. |
-| UNRESTRICTEDQUAL ​  | **NO_UNRESTRICTEDQUAL** ​ | Omnidex can ignore the normal restrictions on special characters, embedded operators and other rules about criteria ​when performing qualifications. | +| UNRESTRICTEDQUAL ​  | **NO_UNRESTRICTEDQUAL** ​ | Omnidex can ignore the normal restrictions on special characters, embedded operators and index options ​when performing qualifications. | 
-| NONE               ​| ​                         | Omnidex should disable all optimizations when processing this query. |+| NONE               ​| ​                         | Omnidex should disable all available ​optimizations when processing this query. |
 | NO_ODX ​            ​| ​                         | Omnidex should disable all optimizations that would involve Omnidex indexes when processing this query. | | NO_ODX ​            ​| ​                         | Omnidex should disable all optimizations that would involve Omnidex indexes when processing this query. |
  
 === REQUIRED_OPTIMIZATION === === REQUIRED_OPTIMIZATION ===
 +
 +The REQUIRED_OPTIMIZATION setting instructs Omnidex to insure that the named optimizations will be performed for a query. ​ If a REQUIRED_OPTIMIZATION setting cannot be performed, then the query will return an error condition. ​ This setting can be set using an option on the SELECT statement:
 +
 +<​code>​
 +select ... with REQUIRED_OPTIMIZATION='​setting1,​setting2,​setting3,​...'​
 +</​code>​
 +
 +The REQUIRED_OPTIMIZATIONS settings are shown in the table below:
 +
 +^ Setting ​                    ^ Description ​                                ^
 +| NO_XREF_FILES ​              | Do not create Cross-Reference files when processing this query. ​ Cross-Reference files are sometimes used to optimize complex, many-to-many table relationships,​ but they generally cause a query to take a lot of time, especially on large databases. |
 +| NO_UNOPTIMIZED_CRITERIA ​    | Do not allow any criteria to be processed without the use of Omnidex indexing. |
 +| NO_CARTESIAN_PRODUCTS ​      | Do not allow Cartesian Joins. ​ Cartesian Joins occur when tables are joined together without any join criteria. ​ While there are rare cases when Cartesian Joins are desireable, they are usually an indication of missing join criteria. |
 +| NO_UNOPTIMIZED_AGGREGATIONS | Do not allow any aggregations to be processed without the use of Omnidex indexing. |
 +| NO_UNOPTIMIZED_SORTS ​       | Do not allow any sorts to be processed without the use of Omnidex indexing. |
 +| NO_SEQUENTIAL_SCANS ​        | Do not allow any sequential table scans. |
 +| NO_SEQUENTIAL_TABLE_JOINS ​  | Do not allow any sequential table joins. ​ A sequential table join indicates that all rows in the second table will be scanned sequentially for each row in the first table. ​ This is the most inefficient way to perform a join, and is only necessary when Omnidex indexing, underlying database indexing, table caching and sort/​merging cannot be used. |
 +| NO_GRID_AGGREGATIONS ​       | Do not allow any aggregations to be performed on the grid controller that require reaggregating data on the grid controller. |
 +
  
 =====  ===== =====  =====
 ---- ----
 \\ \\
-**[[admin:​optimization:​config:​optimizations|Next]]**+**[[admin:​optimization:​config:​home|Prev]]** | 
 +**[[admin:​optimization:​config:​thresholds|Next]]**
  
  
 
Back to top
admin/optimization/config/optimizations.1328644726.txt.gz · Last modified: 2016/06/28 22:38 (external edit)