|
OMNIDEX Indexing |
Indexing Strategies |
Indexing Strategies
|
Indexing StrategiesOmnidex indexes can be delineated into two major sections. Multi-Dimensional Keyword (MDK) Indexes and Aggregation/Sorted Key (ASK) Indexes.
Composite indexes use part of a column or a combination or columns in an index. They can be created from both MDK and ASK indexes to give some additional flexibility when performing searches. There are two special ASK composite indexes: Index-only access composite indexes allow high speed searches and data
warehousing installations.
Notes
Indexing Parent TablesParent tables typically contain rows that are each uniquely identifiable by the value in one column (the primary key). There is a one-to-one relationship between each unique identifying value in this column and the row that contains that value. For example, in a CUSTOMERS table, each row is identified by a unique number in CUSTOMER_NO. CUSTOMERS is considered a parent table, and CUSTOMER_NO is its primary key. The primary key for each parent table is defined in the environment catalog as a KEY declaration in the TABLE definition. Installing an MDK (Multi-Dimensional Keyword) index on a single parent table creates an SI domain. A parent table cannot be in more than one domain. An SI domain is named after the parent table that it contains. For example, if you installed an index on the parent table CUSTOMERS, the name of the domain would be CUSTOMERS. MDK indexes on parent tables qualify parent rows. Always install MDK indexes on parent tables first. Even if you don’t install indexes on the parent table, you must specify its name at a Table Name? prompt during MDK index installation if you want to prejoin child tables to it to create a domain.
Indexing Child TablesUnlike a parent table, child table rows may share the same value for any given column. A child table does not usually have a unique key field, meaning that a value in any given field can occur in any or all rows in the child table. A child table has a field that "links" it to the key field in a parent table and usually has a one-to-many relationship with the parent table. For example, the ORDERS child table contains order entry information for customers defined in the CUSTOMERS parent table. The tables are linked by the common field, CUSTOMER_NO. However, while the CUSTOMERS parent table can have only one row containing a specific customer number, the ORDERS child table may contain several rows with that customer number or several orders for that customer. A child table can be indexed:
ID List IndexingID List Indexing is the default and is better for performance if more than 30 unique values are in the data base. Id List Indexing is more space efficient if more than 20 unique values are in the data base. Id List Indexing can also be more efficient on less than 30 unique values if only a percentage of the rows contain a value.
|
|
Indexing Options | Indexing Strategies | Index Maintenance | Optimization | DBINSTAL |
ASK Indexes |
MDK Indexes |
Composite Indexes |
Bitmap Indexes |
Excluded Words |
Translation Table |
Special Characters |
Domains |
Omnidex IDs by Domain |
Sorted Multi-Find |
Installing the Indexes |
Building the Indexes |
Updating the Indexes |
ODXAIM |
The Explain Plan |
Nested Queries |