- About the Series
- Introduction to Performance Tuning
- Understanding How Queries Are Processed
- Types of Intervention
- Large Level Threshold Property
- Location of Query Processing
- Optimization of Set Operations
- Importance of Optimal Arrangement
- Expression Arrangement
- Caching and Optimization
- Other Performance Enhancement Options
- A Parting Word
Understanding How Queries Are Processed
Before we delve into our examination of MDX query optimization techniques, a general understanding of the way Analysis Services processes our queries will be useful. From a high level, these steps occur in the following general order:
An MDX statement or query is issued by a client application.
The statement or query is parsed by the PivotTable Service, which rearranges it into an expression tree to facilitate ease of use in subsequent steps.
The metadata identification is resolved and the determination is made to process the query on the server or on the client.
Final preparations for processing occur, including possible further optimization procedures.
Rows and columns are identified (the axes are resolved) and in some cases (usually isolation mode), cell values are prefetched and cached.
The combined results are returned to the application from which the query originated.
Integral to our lesson is the location at which the calculations are performed. This location where the operations occur is highly relevant to performance optimization, as most of us would imagine. The location can be either the Analysis Server or at the client PivotTable service.