Three types of indexes provide the bulk of Omnidex functionality. Omnidex indexes are used to optimize criteria, table joins, aggregations and ordering. QuickText indexes are used to index small text fields, such as names, addresses, product descriptions and general text. FullText indexes are used to index large blocks of text. Omnidex also allows custom indexes that employ specialized options which are appropriate for specific situations.
Omnidex also supports expression-based indexing by allowing the creation of virtual columns that are comprised by a SQL expression. Even though this column does not physically exist in the database, it can be indexed, queries and retrieved just like any other column in the database.
Omnidex allows multiple indexes to be gathered into an Index Group. Queries that reference columns within an Index Group automatically search all of the other columns in that group. This is useful for grouping a first name with aliases, grouping multiple phones or emails together, or grouping address lines together.
Indexes can be prejoined with a parent table to improve the performance of table joins. A prejoined index stores both parent and child table pointers to improve the speed of table joins.
These indexing capabilities provide a versatile suite of tools to optimize a wide variety of queries.
See also: