This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
admin:indexing:advanced:joins [2012/02/15 21:20] doc created |
admin:indexing:advanced:joins [2012/02/16 20:17] doc |
||
---|---|---|---|
Line 12: | Line 12: | ||
[[admin:indexing:advanced:subqueries|Subqueries]] | | [[admin:indexing:advanced:subqueries|Subqueries]] | | ||
[[admin:indexing:advanced:distinct|Distinct]] | | [[admin:indexing:advanced:distinct|Distinct]] | | ||
+ | [[admin:indexing:advanced:aggregations|Aggregations]] | | ||
[[admin:indexing:advanced:ordering|Ordering]] | [[admin:indexing:advanced:ordering|Ordering]] | ||
---- | ---- | ||
- | ==== Overview ==== | + | ==== Joins ==== |
- | A basic indexing strategy accommodates most queries, but there are advanced techniques that optimize more unusual situations. Queries with particularly complex criteria or complex table relationships can be optimized using these techniques. Omnidex also has features designed specifically to optimize distinct counts and other complex aggregations. | + | Table joins can add time to a query using any database system. |
+ | |||
+ | === Pre-joined Indexes === | ||
- | Before embarking on these techniques, it is important to understand [[admin:optimization:plans:home|Omnidex Query Plans]]. These plans describe the steps that are involved in processing a query, including the use of indexes. These query plans are essential to insuring the best performance for queries. | ||
- | == Criteria == | ||
- | * Composite indexes | ||
- | * Expression-based Indexes | ||
- | * Rollup tables | ||
- | * Categorizing data | ||
- | == Joins == | ||
* Prejoined indexes | * Prejoined indexes | ||
* Denormalization | * Denormalization | ||
* Multi-level hierarchies | * Multi-level hierarchies | ||
* Record-complex indexing | * Record-complex indexing | ||
- | |||
- | == Subqueries == | ||
- | * Structure of subqueries | ||
- | * Joins instead of subqueries in FROM | ||
- | * | ||
- | |||
- | == Distinct operations == | ||
- | * Composite indexes | ||
- | * Grids: Distinct constraints | ||
- | |||
- | == Group By == | ||
- | * Composite indexes | ||
- | * Rollup tables | ||
- | * Grids: Distinct constraints | ||
- | |||
- | == Order By == | ||
- | * Composite indexes | ||
- | * | ||
- | |||
===== ===== | ===== ===== |