query perfomance tecniques for sap
TRANSCRIPT
© 2007 Wellesley Information Services. All rights reserved.
A Guide to Proven Query Performance Techniques for SAP BW 3.x and SAP NetWeaver BIJeevan K. RavindranInfoElixir
1
In This Session …
• This session looks at query side, back-end side, and peripheral side activities to improve query performance
• Poor query performance is the most painful problem that one faces in an SAP NetWeaver® BI installation
2
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Monitoring Performance: Tools You Can Bring to Bear
• ST03N: Workload Monitor• RSRT: Query Monitor• RSRCACHE: OLAP Cache Monitor• SAP BW statistics queries and workbooks • ST04: Database Performance Monitor• ST02: Database Tune Summary• ST05: SQL Trace
SQL execution plan, index access (seek vs. scan)• ST06: Operating Systems Monitor• DB02: Tables and Indexes Monitor
3
Monitoring Query Performance Using ST03N
• ST03N in SAP BW 3.xPerformance analysis for specific periods (day, week, month)Data is derived from table RSDDSTAT
• Select Expert mode to start analysis
• Then select period for analysis
Aggregation button switches between InfoCube and Query statistics
4
Monitoring Query Performance Using ST03N (cont.)
• Analyze (sort) by various criteria such as front-end time, Online Analytical Processing (OLAP) time, database time, etc.
• What to do for a high front-end time:Check PC’s configuration (Memory, CPU)Check for any network bandwidth bottlenecksCheck if a very high number of cells and formatted cells are transferred (use the All Data tab in ST03N)
Double click on any line to see the details. In this example, you can see the queries in
the cube that make the listed value.
5
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Monitoring Query Performance Using ST03N (cont.)
• What to do for a high OLAP runtime:Check to see if user exit is involvedCheck the “level” of hierarchy used, check read mode of the queryCheck that the memory setup is done properly (TCode ST02 to find bottlenecks)
SolutionsUse OLAP cacheWarm-up cache (priming)Pre-calculated Web templates
6
Monitoring Query Performance Using ST03N (cont.)
• How to take care of high database time:Check whether database statistics are up to date Check for deadlocks, lockwaits, and error logsCheck that the buffers, input and output (I/O), CPU, and memory on the database server are exhausted
SolutionsBuild aggregates (if ratio of “Selected Records” to “Transferred Records” > 10)Install SAP NetWeaver BI Accelerator (SAP NetWeaver 7.0)
7
Using BI Statistics in SAP NetWeaver 7.0
• The statistics data files are no longer kept in the RSDDSTAT table
• Statistics data can be accessed from data dictionary views RSDDSTAT_OLAP and RSDDSTAT_DM
• With SAP NetWeaver 7.0 SP09, ST03N accesses the reporting statistics data from the technical SAP NetWeaver BI content
The technical content must be activated and the statistics data must be populated periodically
• No standard statistics workbook as in 3.xUse BI Administrator Role in Portals or create your own workbook
8
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Query Performance: Analysis Using TCode RSRT
• Execute + Debug OptionTo Check Aggregates
To See SQL
To See SQL Execution Plan
To See Statistics Info
RSRT — Execute + Debug in SAP BW 3.x
SAP NetWeaver 7.0 feature
SAP NetWeaver 7.0 feature
RSRT — Execute + Debug in SAP NetWeaver 7.0
Query Performance: Analysis Using TCode RSRV
• Analysis and repair of BW objectsUseful checks in RSRV
DatabaseDatabase statistics for an InfoCube and its aggregates Database indices of an InfoCube and its aggregates Check database parameters
Transaction dataFact and dimension table of an InfoCube Multiple entries in dimensions of a (Basis) InfoCube
Master data Compare characteristic values in SID-, P-, and Q-Tables Unauthorized characters in characteristic values
10
11
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
12 Query Definition Tips to Enhance Performance
1. Display texts for characteristics, only if neededThis helps to minimize additional table reads
2. Characteristic restriction – Free Char vs. Filter areaWhenever possible move the restrictions to the “Filter” area from “Free Characteristics” area
SQL “join” yields a smaller dataset to process further
12
12 Query Definition Tips to Enhance Performance (cont.)
3. Sequence of characteristics listed in Filter sectionRestrict on the least granular characteristic first
Sequence matters to optimize the WHERE clause in the resulting SQL statements
4. Restriction first, calculation secondFirst do the restrictions in Restricted Key Figures (RKF), then use the RKF in calculated key figures
5. Limit number of selections on Navigational attributesThus reducing the number of extra table joins
13
12 Query Definition Tips to Enhance Performance (cont.)
6. Inclusion vs. exclusion in characteristic restrictionUse inclusion (not exclusion)
Index is not used in exclusion
7. Query initial results – Show bare minimum charactersJust show what is absolutely needed
Use Free Characteristics section to see more granular data8. Suppress result rows, whenever possible
This will reduce the OLAP processing time
14
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
12 Query Definition Tips to Enhance Performance (cont.)
9. Use cell calculation, only if absolutely neededCell editor generates separate queries at runtime
10. MultiProvider-based queriesRestrict by 0INFOPROVIDER, if possible
This will eliminate unwanted InfoProvider read overhead resulting from split sub-queries
11. Before aggregation option is Calculated Key FigureIf you use this option, then aggregates will not be utilized
15
12 Query Definition Tips to Enhance Performance (cont.)
12. Change users’ query usage habitsTeach users to avoid using wild cards and entering a wide range of selections
Incorporate mandatory fields in the query
16
17
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
4 RSRT Options to Improve Query Performance
1. Change query read mode, if appropriateSuggested value: H (query to read when you navigate or expand hierarchy)
2. Turn off warning messages in queries
18
1
2
4 RSRT Options to Improve Query Performance (cont.)
3. Regenerate queries periodicallyHelps to optimize memory size of data held in OLAP processor
Generate a single query by clicking on the “Generate Report” icon in RSRTUse program RSR_GEN_DIRECT_ALL_QUERIES or RSRT Menu option Environment Gen. Queries Directly to generate multiple queries (Fig. 1)Use RSRT Properties to set automatic query generation frequency (Fig. 2)
Fig. 1Fig. 2
4 RSRT Options to Improve Query Performance (cont.)
4. Query parallel processing optionMultiProvider-based queries
Parallel processing is switched to sequential mode when the interim result exceeds 30,000 (only in SAP BW 3.x)Hence for large queries, mark this check boxSee SAP Notes 630500 and 607164
20
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
21
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
Employing OLAP Cache
• What can OLAP Cache do?Buffer results from queries and provide them again for subsequent executions
• OLAP Cache parameters for the system Set using TCode RSRCACHE
Set Cache file size, Monitor Cache usageEnsure the shared memory size (rdsb/esm/buffersize_kb) is bigger than the OLAP Cache size
22
1 2
Employing OLAP Cache — Query Cache Setting
• Query level setting to enable cache usageSet using TCode RSRT Properties
• Query cache is filled when the query is executed inBEx AnalyzerWeb templatesReporting Agent/BEx BroadcasterThird-party tools
23
1
2
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Employing OLAP Cache — Set Cache Mode
Criteria to select “Cache Mode” value
24
• The users are assigned to different app server
• Frequent changes to data• Slow I/O (disk read)• With ad hoc queries
• When there is a large number of queries
• Query produces huge amount of data
Persistent cache acrossapplication servers
4
• Frequent changes to data• Slow I/O (disk read)• With ad hoc queries
• When there is a large number of queries
• The users are assigned to different app server
• Query produces huge amount of data
Persistent cache per application server
3
• Query brings huge amount of data• Frequent changes to data• Large number of queries• With ad hoc queries
Can be used in most queries even when the I/O is slow
Main memory cache withswapping
2
• Query brings huge amount of data• Frequent changes to data• With ad hoc queries
Can be used in most queries even when the I/O is slow
Main memory cache withoutswapping
1
When NOT to useWhen to UseCache Mode Description
Cache Mode
Employing OLAP Cache — New Features in SAP NetWeaver 7.0• Update Cache Objects in Delta Process (check box)
Data in delta requests will be copied automatically into the cache from the cube when a query requests that data
Except for data load, all the other cache invalidation conditions apply
Cache
Request 1
Request 2
Request 1
Request 2
Request 3Will be moved
In this case, the query will get Req 1 & 2 from Cache and Req 3
from the cube.
Afterwards, the Cache will be populated with Req 3.
25
OLAP Cache Invalidation Conditions
• Loading of new data or extraction of data to basic cubes• Rollup of aggregates• InfoProvider compression• Changes made to metadata, master data, hierarchies, or
exchange rates• Index generation• Changing variable type• Changing variable interval value
For example, intervals given for variable “1-3” is changed to 1,2,3
26
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Cache Warm-Up (Priming) Technique
• Run queries in background (off-hours) by using Reporting Agent in SAP BW 3.x or BEx Broadcaster in SAP NetWeaver 7.0 to fill up the cache
• Only Web templates can be scheduled in SAP BW 3.xBEx queries must be embedded into a Web template
Create a query view and navigate to the most used drilldowns and put this data into the result setUse this query view in a Web template
27
28
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
7 Data Modeling Tips to Optimize Query Performance
1. Do not combine unrelated characteristics in the same dimension
Dimension table should be < 10% of the fact tableRun report SAP_INFOCUBE_DESIGNS
Ensure database statistics are up to dateRestructure dimensions, where the ratio > 20%
2. Degenerated dimensions (high number of distinct values)
Convert to a line item dimensionTurn on the Cardinality flag
Index changes to B-tree Tip
29
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
7 Data Modeling Tips to Optimize Query Performance (cont.)
3. InfoCube with non-cumulative key figures should not be too granular
Results in bigger E table because of large number of reference points Also results in expensive aggregate builds
4. Build a MultiProvider (logically partitioned)Can partition by region (geographic), year, or version (plan or actual), etc.
5. Shift calculation overhead from query to data loadIf possible, execute all calculations such as the currency translation when in the transformation routines/data load
30
7 Data Modeling Tips to Optimize Query Performance (cont.)
6. Dimension balancingBalancing dimension sizes to approximately equal values helps to improve data retrieval
7. Database partitioningThe data based on time characteristics is physically stored in separated database partitions
This can be done only when the cube is empty
31
32
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Pre-Calculated Web Templates
• Pre-calculated Web template in SAP BW 3.xUse the Reporting Agent to pre-calculate Web templates
Automatic report execution and storage of the output for later use
• Pre-calculated Web template in SAP NetWeaver 7.0Use BEx Broadcaster
Many output formats such as HTML, XML, PDF, ZIP, etc.Send Immediately or Schedule Send for laterCan distribute pre-calculation to different servers
• BEx Broadcaster and pre-calculationTriggered by the Trigger Event Data Change process type In BEx Broadcaster, use the Execution with Data Change option in the InfoProvider 33
Aggregates
• Aggregates are …Materialized (pre-aggregated) views on InfoCube fact table data“Mini-Me” of cubes
• Aggregate creationRSA1 InfoCube right mouse click Maintain Aggregates
• ObjectivesTry to achieve summarization ratio of 10 or higherBuild aggregates only on selected hierarchy levels (not all)Build a hierarchy of aggregates (eases change run woes)
34
Aggregates (cont.)
• Aggregate rollupThe rollup moves newly loaded transaction data to the existing aggregates New data is not available for reporting until it is rolled upThis step can be included in a process chain
• Change runUpdates (realignment) all aggregates for newly loaded master data and hierarchiesChange run can be parallelized across InfoCubes
Refer to SAP Note 534630, “Parallel processing of Change Run”
Threshold for aggregate delta vs. aggregate rebuildTCode RSCUSTV8 — recommended value is 30%
35
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Tips and Tricks
• Apply the change run once for all newly loaded master data for a given period
Avoid scheduling it for the load of every master data object• Change run process can be monitored, while it is
running, using the program RSDDS_CHANGERUN_MONITOR
• Aggregates can be checked using the program RSDDK_CHECK_AGGREGATE
• To copy aggregates, use the program RSDDK_AGGRCOMP_COPY
Tip
36
Compression
• Compression (collapse): RSA1 InfoCube ManageData with identical characteristic values for all dimensions (except package) are compressed into a single recordData is removed from F fact table and moved to E fact table
F fact table is optimized for loading E fact table is optimized for data retrieval
Individual requests cannot be accessed or deleted after they have been compressed
• Compression should not be run:If selective deletion is running in the cubeAttribute/hierarchy change run is running in the cube
Warning
37
Compression (cont.)
• Two Phases of Compression:Phase I
1. Insert or update the records into E fact table2. Delete the entry of the request from P Dim table
(/BIC/D<InfoCube>P)3. Update RSMDATASTATE-COMPR_DUAL with last
compressed request number4. Commit changes
Phase II1. Delete data in F fact table
38
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
39
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
SAP NetWeaver BI Accelerator
• Ever wonder how Google does it?Sub-second response while searching four billion Web pages!Server farm with 60,000 PCs, huge memory, and indexing does the magic
• Why can’t SAP do it?The answer is SAP NetWeaver BI Accelerator
The accelerator uses an “In-Memory” databaseAll the data in the cube is indexed.The indexed data is kept in memory. No disk reads!Query processing also take place in the memory.Fact table is vertically decomposed and compressed.
40
SAP NetWeaver BI Accelerator Architecture
• Appliance — Hardware/software add-on solution
Source: SAP
Blade servers w/ Intel processorsOS: 64-bit SUSE
Linux (SLES)
Indexing can be parallelized Fact table is
vertically decomposed
and compressed
Load by first query
execution or explicitly by a program
41
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
SAP NetWeaver BI Accelerator — Points
SAP NetWeaver BI Accelerator makes aggregate obsolete
Source: SAP
• Brain behind the acceleratorTREX search engine, vertical decomposition, compressed structures, and in-memory aggregation algorithms
• Query Execution Sequence with SAP NetWeaver BI Accelerator
42
SAP NetWeaver BI Accelerator Features
• Since only master data has to be updated to the accelerator index, the change run finishes fast
• Statistics are collected in table RSDDSTATTREX• It is possible to use non-accelerator InfoCubes and
accelerator InfoCubes in one MultiProvider• Closed requests of the real-time InfoCube can be rolled
up into the SAP NetWeaver BI Accelerator index• The accelerator can be used in “Value help” and
ListCube• Support of DataStore Object (DSO) is in the cards• SAP NetWeaver BI Accelerator is not used for queries
based on InfoSets43
Archiving
• BenefitsRemoves “archaic” data from SAP BW servers to another storage medium
Reducing data volume in SAP BW Archiving facilitates faster data loads and shorter query run times
• Prepare a comprehensive data management planMust take into consideration:
Analysis and reporting requirementsLegal, regulatory, and other data retention requirementsCost of data ownership
Could archive the details (ODS/DSO) but keep summary data (cube) in SAP BW
44
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Near Line Storage (NLS)
• Near Line Storage (NLS) is a data persistency solutionCost-effective solution to “park” (store) least frequently used (static) dataUnlike archived data, NLS data can be directly accessed for analysis and data load
BI queries, DTPs, data reloads, etc., work as if the data is residing inside (online) the systemAccess time of NLS data is comparable to real-time access
Retrieving archived data requires staging the old data from tape to disk, and then verifying the data
Near Line Storage doesn’t require such extra steps
45
Other Back-End Optimization Options
• Significant DB time spent in table BALDATReorganize Application Log table using TCode SLG2
• Rapid expansion of tables EDI40, EDI30C, and EDIDSArchive EDIDS, EDI30C, or EDI40Delete SWW_CONTOB via reports RSWWWIDE and RSWWHIDE
• Outdated indexesDelete and recreate indexes using process chain
This will ensure faster data load (write) and quicker query data access (read)
46
47
What We’ll Cover …
• Monitoring query performance• 12 query definition tips to enhance performance• 4 RSRT options to boost query performance• Employing OLAP Cache to gain query performance• 7 data modeling tips to optimize query performance• Miscellaneous back-end activities• Peripheral solutions• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Resources
• BW ExpertAnthony Andreacchio, “SAP’s Check Tools Keep Your BW Data Consistent,” (BW Expert, October 2003)Catherine Roze, “Quick Tips: 22 Ways to Boost BEx Query Performance,” (BW Expert, January 2003)Gary Nolan, “Improve Your System Performance by Archiving Data in BW” Parts 1, 2, and 3, (BW Expert, March, April, and May 2006)Joerg Boeke, “Find Reporting and Performance Problems Before Your Users Do,” (BW Expert, November 2003)Gary Nolan, “All Users Benefit When You Prime the OLAP Cache,” (BW Expert, January 2005)
48
Resources (cont.)
• SAP NetworkRon Silberstien, “SAP BW Query Performance Tuning with Aggregates” (2002)
www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3f66ba90-0201-0010-ac8d-b61d8fd9abe9
Prakash Darji’s blog on Query Optimizationwww.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3075
• OthersFiltering with the WHERE clause
http://searchsqlserver.techtarget.com/generic/0,295582,sid87_gci1184405_tax301329,00.html?adg=301324&bucket=REF
49
Resources (cont.)
• SAP NotesSAP Note 557870: FAQ: BW Query PerformanceSAP Note 807967: Filling the cache from the Reporting AgentSAP Note 590370: Too many uncompressed request (f table partitions)
50
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
51
7 Key Points to Take Home
• Consider all options to improve query performanceInside the query, outside the query, and peripheralAlso be proactive, not reactive
• Query performance improvement starts from the query Check query definition and user’s usage habits
In most cases, the back end is already tuned• Data model has a big impact on query performance
Keep an eye on dimension table’s growth• Use the cache available at your disposal
Use it wisely
52
7 Key Points to Take Home (cont.)
• Get acquainted with RSRT Execute + Debug and Properties option
• Query performance can be improved by using time tested techniques — Aggregates and Compression
• SAP NetWeaver BI Accelerator offers querying capability at blazing speeds
A good way to make users love SAP NetWeaver BI (SAP BW)
One Code to Rule Them All
• A riddle“One code to rule them all, One code to reach them all.
A place to check, when things move or stall.Saves from cognize codes, big or small. Reach for this code, See it enthrall.”
© Jeevan Kumar Ravindran
• QuestionName the code mentioned in the riddle
Hint: The answer is inside the riddleLook for a pattern
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
54
Your Turn!
How to contact me:Jeevan Kumar Ravindran
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Wellesley Information Services, 990 Washington Street, Suite 308, Dedham, MA 02026
Copyright © 2007 Wellesley Information Services. All rights reserved.