Databases Reference
In-Depth Information
For the multiplication operation, Analysis Services creates the physical plan shown in
Figure 29.15.
Subcube 0:
D1.Members,
(M1*M2)
*
Subcube 1:
D1.Members,
M1
Subcube 2:
D1.Members,
M2
Iterator
Lookup
Member Physical Op
Member Physical Op
Subcube 1:
D1.Members,
M1
Subcube 2:
D1.Members,
M2
Iterator
Lookup
Storage Engine
DataCache
Storage Engine
DataCache
FIGURE 29.15
The physical plan for the multiplication operation.
Execution of the Physical Plan
After physical plan is built, Analysis Services starts to execute it from the bottom up. First,
it tries to retrieve results from the formula cache. (We discuss the formula cache later in
this chapter.) If results are found in the cache, Analysis Services passes them to the subsys-
tem that serializes the results.
If results are not found, Analysis Services executes the code corresponding to the physi-
cal operand. If the operand is responsible for data retrieval from the storage engine
subcube, the system sends the request to the storage engine subsystem. For operations
involving calculation, the physical operand will perform the necessary calculations, such
as multiplication.
In most scenarios, a block-computation approach to query execution is much more effi-
cient than a cell-by-cell approach. When testing your system, however, you might want to
experiment and compare the performance of these two approaches. For those rare cases,
you can use the keyword HINT LAZY to disable block computation of a calculation expres-
sion. Because in most cases you do not need to disable block computation, this hint is
turned off by default. Turn it on using server configuration property Configuration
Settings\OLAP\Query\LazyEnabled .
 
Search WWH ::




Custom Search