Introduction to Optimizing Queries

Dynamic Caches

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

  • Data Caching - 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 Caching - Omnidex is able to recognize patterns in queries, and will reuse qualifications from the previous query when appropriate. A common scenario involves a succession of SQL statements, each of which adds another piece of criteria. Another scenario involves queries that begin with requesting a count of rows, and then either requests for aggregations or detailed rows using the same criteria. In both of these cases, Omnidex is able to reuse earlier qualifications, greatly improving performance.
  • Filesystem Caching - Omnidex relies on filesystem caching managed by the operating system in order to achieve high performance. This filesystem caching is automatic and benefits Omnidex, but only if certain memory requirements are met.

All of these caching techniques are available to all Omnidex applications, and they are activated automatically. These techniques also take advantage of the fact that Omnidex is most frequently used in read-only environments.

More >

Additional Resources

See also:

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