You are on page 1of 4

Performance Tuning Why Report takes a long time to execute?

Did you look at the execution time of the data provider? You will have to separate this time from the computation time, this is the time that it takes Business Objects to actually render the data on your screen after the data has been retrieved from the database. The computation time includes calculating of all variables, formulas, filters, alerters, applying formatting, etc. Suddenly Report performance decreased? Ask your DBA to check on the database server. Did any DBMS parameters change? Did the load on the database server increase? Data base partition might have dropped. System resources might not be available. Did the data volume increase by a magnitude? Have database indexes been dropped? How about statistics, etc. How to improve the performance of the report? Do not use constant values in the report. Organize your query well . Know the db structure to best design the query. Do not refresh every report on open or so, do it as per requirement. Try to make sure you where clauses constrain on integers in the where clause, if possible, you can use Index Awareness in Designer for this. Try and produce your reports with as few data providers as possible. Remove unused formule, they should, ideally all be variables. Universe side Minimize the unnecessary joins. Use derived tables which reduce data returned to a document for analysis, Use short cut joins, Aggregate awareness, Index awareness. Make sure all the measure objects have aggregate functions.

Increase the array fetch size from the file -> Universe parameters -> Definition-> Edit -> Advanced. Increasing the Array fetch size may get the results to appear faster on the users PC. Try to limit the size of the long objects Try to use faster cardinality detection If the data base is cost bases then we must make sure the statistics are upto date. If the data base is rule based optimization, the order of the tables in the From clause are important. Altering these manually by assigning the row counts in the designer. Right click on the table -> Number of rows in the table -> Check modify manually tables row count to the size depending on the order of the tables in the From clause of the Join. (make sure that the tables contains smaller number of rows should be in the first next to the From clause) Data base side Try and resolve complex calculations using your ETL, rather than calculate at run time, using Business Objects. Try to use properly indexed tables or material views rather than derived table or standard views.You should analyse the query using a SQL editor, e.g. Explain Plan for Oracle. You should then provide indexing on the database and hints in Designer as required.

Installation steps of BO 5.1 and 6.5 -Creating Repository.-Server Configuration i.e creating clusters, ORB config etc. -Creating groups/users in Supervisor, assigning rights based on each module i.e. Supervisor, Designer, BusinessObjects reporter, WebI.-Designing universes/reports. -Testing, UAT (User Acceptance Testing), rollout & signoff.\

SQL Query tuning 1. Index plays a big part in performance. Indexing a column. Whichever columns we are using most of the times for searching we can make that column as index. Scenario: select * from empinfo where name='smith' What is a Index: Index points to a table or view There are implicit and explicit index. Single column index (Index for one column) and Composite Index (Indexing multiple columns) System itself create index whenever there is a primary key in a column and is called Implicit Index. select index_name from dba_indexes where owner='scottsql' by logging in as system user When creating index on a table what happens is it creates one more table and all the names will come together. Using Alias name when calling the table instead of calling the table name improves the performance WHEN USING FROM , SMALLEST TABLE SHOULD BE FIRST AND THEN THE LARGEST TABLE - PERFORMANCE INCREASES (FROM READS FROM THE LEFT HANDSIDE) WHERE LAST_NAME='SMITH'----- RETURNS 2000 ROWS WHERE CITY = 'DALLAS' ----- RETURNS 30,000 ROWS WHENEVER WE ARE USING WHERE CLAUSE FIRST WE SHOULD BE KEEP THE WHERE CITY='DALLAS' AND LAST_NAME='SMITH' AND THIS IS BETTER THAN WHERE LAST_NAME='SMITH' AND CITY=DALLAS. --- IMPROVES THE PERFORMANCE AND. WHERE CLAUSE READS FROM THE RIGHT HAND SIDE) VIEW PLAYS AN IMPORTANT ROLE ON SECURITY vIEW PLAYS AN IMPORTANT ROLE IN PERFORMANCE TUNING

VIEW IS AN VIRTUAL TABLE VIEW IS STORED IN MEMORY ONLY SO IT WON'T OCCUPY ANY SPACE COMBINE MULTIPLE TABLES AND USE JOIN AND CREATE THE VIEW FOR OUR OWN NEEDS - VERY IMPORTANT NESTED VIEW ALSO POSSIBLE VIEW CAN't BE OVERWRITTEN AND IT CAN BE DROPPED AND RECREATED AGAIN A VIEW CAN BE CREATED FROM A VIEW If there is a primary key in the original table inserting and deleting from the view will not affect the original table. If inserting we must insert all the fields If there is no primary key then inserting or updating the view will update the original table

Synonym (another name for table or view) using this increases the performance surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data. Difference between scope of analysis in webi and in deski? In Deski: all the data for all objects will be retrieved from the database.and that is stored in microcube.whenver you want to drill down for next level dimension it doesnot need to connect to database In Webi : all values for all objects that are dragged into the query panel will be retrieved.hierarchical objects values wont be retrieved like deski. whenever you drill down the report, to display the values this reort is meet ot database again. and retrieves the data. ( I am posting as of my knowledge, If any mistake in this Pls let mw know)