how we improve the performance of report and universe?
Answer Posted / vamshi
optimization at universe level –
-> Modify Array Fetch parameter
-> Allocate weight to each table
-> Use shortcut joins
-> Use aggreagte functions
-> Use aggregate tables
-> Minimize usage of the derived tables
Modify Array Fetch parameter: The Array fetch parameter sets the maximum number of rows that are permitted in a FETCH proedure. For example, of the Array Fetch size is 20, and total rows are 100, then five fetches will be executed to retrieve the data, which will consume more time in comparison with one fetch.
Resolution: If network allows sending large arrays, then set Array fetch parameter to new larger value. This speed up the FETCH procedure, and reduce query processing time.
Allocating table weights: Table weight is a measure of how many rows there are in a table. Lighter tables have less rows than heavier tables. By default BusinessObjects sorts the tables from the lighter to the heavier tables. The order in which tables are sorted at the database level depends on your database. For example, Sybase uses the same order as BusinessObjects, but Oracle uses the opposite order. The SQL will be optimized for most databases, but not for Oracle where the smallest table is put first in the sort order. So, if you are using an Oracle database, you can optimize the SQL by reversing the order that BusinessObjects sorts the tables. To do this you must change a parameter in the relevant PRM file of the database.
Resolution: Business Objects settings, the ORACLE PRM file must be modified as below:
• Browse to directory Business Objects\BusinessObjects Enterprise
6\dataAccess\RDBMS\connectionServer\oracle.
• Open ORACLE.PRM file, change the REVERSE_TABLE_WEIGHT
value to N from Y.
Using Shortcut joins: Numbers of tables in join are more, even when selected objects are less. Even when no object of related table is selected, then also that table is appearing in the join condition. For e.g., If A_id object from A table of C table is selected with B table in between, then BO generated SQL shows that intermediate table ‘B’ table was present in ‘From’ clause.
Resolution: Shortcut joins allow users to skip intermediate tables and allow alternative paths between tables. Use of shortcut join reduces the number of tables used in query to improve SQL performance. Results in query performance improving from 1.5 minute to 30 seconds!!
Use aggregate functions: Data is aggregated on the subject of analysis (user selected criteria) at report level. This takes more processing time, as data from database is loaded in temporary
memory and then aggregated or processed to display.
Resolution: Use aggregate functions (e.g., sum, count, min, max) in measure objects at universe
level. Aggregate functions will aggregate the data at database level rather than at report level which will save on processing time at report level and also reduce the number of rows returned back to report.
Creating and using aggregate tables: Aggregate data are obtained by scanning and summarizing all of the records in the fact table at real-time which consumes more time.
Resolution: Aggregate tables contain pre-calculated aggregated data. Using aggregate tables
instead of detail tables enhances the performance of SQL transactions and speeds up query execution. Aggregate_Awareness function has ability to dynamically re-write SQL to the level of granularity needed to answer a business question. Aggregate tables allow for faster querying speed and increases query performance manifolds!!
Minimize usage of derived tables: Since derived tables are evaluated and executed at runtime, SQL tuning is not possible.
Resolution: Minimize the usage of derived tabled and replace them with tables or materialized
view. SQL tuning techniques such as creating index can be applied on tables or materialized views which will improve performance of BO reports
| Is This Answer Correct ? | 8 Yes | 0 No |
Post New Answer View All Answers
Can we Save (save as) WEBI Doc as DESKI?
what is universe null
i want my connection to be dynamic. How can I make it. I mean the username and password should be dynamic. How?
Can we configure two instances of CMS pointing to two different CMS system databases?
What's the Functional & Architectural Differences between Business Objects & Web Intelligence Reports?
What is a fantrap in business objects?
hi all of u, i want to learn the course in SAP(BI).because of there is no calls for BO. And the another region is it will be converted into SAP module. is it OK for me? is there any feauture in coming days? could any one plz send me the message
Explain what if a cartesian product pop up block appears when running a report. Does it give wrong values? How to solve this issue?
1)I have createcd a dashboard on Bex query. How to refresh the Dashboard without hitting the bex query? 2)What is Event based scheduling in BO? 3) How to display the BO webi report title using a function? 4) For eg in my webi report iam having a person name like Jhon Peter Adam. But i need to get only the middle name of the person like Peter. What function is used in Webi to get this?
Are data mart and dwh normalized or denormalized? Do both of them exist in the same tier?
Give some information on report bursting?
What are all the points to keep in consideration, while we are migrating the Universes,Reports from BO5.1.6 to BO 6.5? Is is compatible to migrate like this? Does it effect the filters in Reports and Join in the Universe?
What are the steps to do to use alerts in bo?
Explain about an assignment you worked on in which you had to amass a huge amount of data, and then analyze it?
I have 2 doubts regarding the "Input Control" functionality in BI4: 1) Can the Input Controls in BI4 be manipulated? I mean, can we change the IC display as BOLD or change the values from Italics to regular? Or change the colors? 2) How to get hierarchy type control in IC? Let's say my first IC is for Country and second is for State. If I select a particulat country from Ist IC,second one should show me states belonging to selected country. Is that possible? Thanks in advance!!!