This is an old revision of the document!


Administration: Optimizing Queries

Dynamic Caches

Overview

Caching is a common method of optimizing queries in Omnidex, as with other relational databases. Omnidex works with caching in three areas:

  • Hashed Data Caches - Omnidex creates temporary caches of data during some query processing in order to minimize access to the underlying database. Typically, this occurs when smaller tables are joined to from a much larger table, such as in a star schema data warehouse where a fact table joins to many dimension and snowflake tables. In these cases, Omnidex will load the smaller tables into a hashed data cache, allowing the join to occur in memory rather than requiring repeated access to the disk.
  • Qualification Caches - Omnidex is able to recognize patterns in queries, and will try to reuse previous qualifications when appropriate. A very common scenario involves a succession of SQL statements, each of which adds another piece of criteria. Another common scenario involves queries that begin with requesting a count of rows, and then either asks for aggregations or detailed rows using the same criteria. In both of these cases, Omnidex is able to reuse earlier qualifications, greatly improving performance.
  • File Caches - Omnidex relies on file caching from the operating system in order to achieve high performance. This file caching is performed automatically by the operating system and benefits Omnidex, but only if certain memory requirements are met.

All of these caches are designed to support standard Omnidex applications, and they are activated automatically. These caches also reflect that Omnidex is most frequently used in read-only environments. These caches can be deactivated in read-write environments as needed.

Additional Resources

See also:

 
Back to top
admin/optimization/caches/home.1328570660.txt.gz ยท Last modified: 2016/06/28 22:38 (external edit)