*
|
Tables
|
Many to many -
Check tables are written optimally (no duplicates and < 1mill rows)
|
|
1
|
DSV
|
Remove any
unnecessary tables
|
|
2
|
Roles
|
Phoenix role
doesn't have permissions?
|
|
3
|
Dimension Usage
|
Manufacturer to
Product
|
*Make sure all
materialized
|
4
|
Dimension
|
Account -
Attribute relationship
|
*Rigid, etc.
|
5
|
Dimension
|
Misc. Account -
Attribute relationship
|
|
6
|
Dimension
|
Product -
Attribute relationship
|
|
7
|
Dimension
|
Wholesaler - User
Hierarchy?
|
|
8
|
Dimension
|
Attribute
hierarchy enabled for all attributes
|
E.g. Not needed if
in User Hierarchy
|
9
|
Dimension
|
Estimate row count
for all attributes
|
|
10
|
Calculated script
|
Review all iff
null and use is empty
|
|
11
|
Calculated script
|
Review all = make
sure use object reference
|
|
12
|
Partitions
|
Create all
partitions (5-20million rows)
|
|
13
|
Partitions
|
Specify slices for
each partition
|
|
14
|
Aggregation
|
Initially set most
common attributes used in group by
|
|
15
|
Aggregation
|
Switch on usage
based optimisation and run all queries for reports - rebuild aggregations
|
|
16
|
SSIS Cache
|
Build cache warmer
SSAS job to run most common top level queries after cube has been refreshed
|
|
17
|
Reports
|
Shell use security
to get wholesaler role and territory - sub reports remove all parameters
definitions, pass through from parent report and then use separate defined
data source. Finally cache all sub reports run so will be instant
|
Can set up
schedule for cache and clearing down
|
Thursday, 23 March 2017
SSAS optimsiation
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment