Overview | Criteria | Joins | Aggregations | Ordering | Retrievals
As Omnidex optimizes a query, it looks for ways to use indexes to process criteria, table joins, aggregations and ordering. It may also find that the data to be returned to the user can be obtained from the indexes. This can allow an entire query to be processed without ever accessing the database. This technique provides exceptional performance.
The simplest example of this is queries that request counts. Omnidex always maintains a count of the rows that have been qualified. If the query requests a count, Omnidex can simply return it from the indexes. Other queries may perform aggregations and use GROUP BY clauses. These can be returned from the indexes as well.
Other queries may request primary keys, or even data from other columns. If these columns are found in the indexes, they will be returned from the index in order to minimize retrieval from the database. Omnidex will automatically perform this optimization.
Using these techniques, it is possible to optimize complex queries without ever accessing the database. A query may access dozens of tables, applying a wide variety of criteria and performing aggregations and ordering. If Omnidex can, it will attempt to satisfy all of these aspects in the indexes, providing the best performance possible.
See also: