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
Next revision Both sides next revision
admin:optimization:config:optimizations [2012/02/07 23:54]
doc
admin:optimization:config:optimizations [2012/02/13 22:26]
doc
Line 35: Line 35:
  
 |<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 45: 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.txt · Last modified: 2016/06/28 22:38 (external edit)