This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
admin:optimization:caches:cachequal [2012/02/07 18:31] doc |
admin:optimization:caches:cachequal [2016/06/28 22:38] (current) |
||
---|---|---|---|
Line 9: | Line 9: | ||
[[admin:optimization:caches:home|Overview]] | | [[admin:optimization:caches:home|Overview]] | | ||
- | [[admin:optimization:caches:hdc|Data Caching]] | | + | [[admin:optimization:caches:hdc|Hashed Data Caching]] | |
**[[admin:optimization:caches:cachequal|Qualification Caching]]** | | **[[admin:optimization:caches:cachequal|Qualification Caching]]** | | ||
[[admin:optimization:caches:filesystem|Filesystem Caching]] | [[admin:optimization:caches:filesystem|Filesystem Caching]] | ||
Line 40: | Line 40: | ||
* **select TOP 20 SKIP 40 <columns> from ... where <criteria1> and <criteria2> and <criteria3>** | * **select TOP 20 SKIP 40 <columns> from ... where <criteria1> and <criteria2> and <criteria3>** | ||
- | Omnidex will recognize these scenarios and reuse the index pointers that were isolated in the first statement. This means that the criteria is processed only during the first statement. | + | Omnidex recognizes that the criteria is the same and reuses the index pointers that were isolated in the first statement. This means that the criteria is processed only during the first statement. |
All of these optimizations are automatic, and do not require action by the administrator or developer. Note that this type of caching only applies to qualifications, joins and index segments, and does not apply to aggregation steps. | All of these optimizations are automatic, and do not require action by the administrator or developer. Note that this type of caching only applies to qualifications, joins and index segments, and does not apply to aggregation steps. | ||
Line 73: | Line 73: | ||
Aggregate INDIVIDUALS using GENDER for GROUP(GENDER), COUNT(*) on 1; | Aggregate INDIVIDUALS using GENDER for GROUP(GENDER), COUNT(*) on 1; | ||
Return I.GENDER, COUNT('*'); | Return I.GENDER, COUNT('*'); | ||
- | -------------------------------------------------------------------------------</code> | + | ------------------------------------------------------------------------------- |
</code> | </code> | ||
=== Disabling Cached Qualifications === | === Disabling Cached Qualifications === | ||
- | If cached qualifications are used, Omnidex will favor the previously qualified index pointers, rather than fresh pointers from the indexes. This means that the query will not be aware of any inserts, deletes or updates that have happened since the previous query. This is generally not an issue since most Omnidex applications are read-only, and even applications that are updated may be able to tolerate this type of short-term caching. If needed, though, this type of caching can be disabled by either using the "OPTIMIZATION=NO_CACHEQUAL" option on the select statement, or issuing the "SET OPTIMIZATION NO_CACHEQUAL" command on the connection. | + | When cached qualifications are used, the current query will not be aware of any inserts, deletes or updates that have happened since the previous query. This is generally not an issue since most Omnidex applications are read-only, and even applications that are updated may be able to tolerate this type of short-term caching. If needed, this type of caching can be disabled using the "OPTIMIZATION=NO_CACHEQUAL" option on the select statement, or using the "SET OPTIMIZATION NO_CACHEQUAL" command on the connection. |
===== ===== | ===== ===== |