Home
Analytics
Birt tunning
unknown
Hi,<br />
<br />
I have a complex report, difficult to give an exemple...<br />
one Dataset describe items, items are put in a table with two groups.<br />
another dataset describe estimated and realised financial information with detail.<br />
I put 6 tables linked to the second dataset (2 in detail and 2 in each group) in the first table.<br />
The link is made on one item detail with (example) : <pre class='_prettyXprint _lang-auto _linenums:0'>row["id_fiche_projet"]=row._outer["id_fiche_projet"]</pre>
and the difference beetween this 6 tables is filtering (some filter realised, other estimated....)<br />
The number of items in the first table could be important (100), so the number of linked table on the second dataset could be more important (600)...<br />
<br />
My question is : to increase speed and efficiency of this report...<br />
- Is it better to make more dataset with adapted filtering and linking the linked tables to each dataset<br />
- Or the actual solution : one dataset linked to 6 table with filtering in the tables...<br />
<br />
Any experience about that ?<br />
<br />
thanks in advance...<br />
<br />
Regards<br />
<br />
Vincent
Find more posts tagged with
Comments
CBR
Hi,
which version of BIRT are you using?
Sorting and Filtering is always faster in the database.
Since BIRT 2.1.3 datasets are cached by BIRT if they do not contain parameters that are set from outside the data set editor (subreport queries).
So the only scenario where BIRT might be faster is if you keep reusing a small dataset for some tables (the time it takes BIRT to sort/filter the records is less then the time it takes BIRT to sent the query to the database)
Just to get it right:
You have 6 tables that are bound to a single dataset? So i m assuming that you fetch a lot of data from the database and filter out the correct results later in the table...is this correct?
Would it be possible to make a blue print of the report (just to see the number of tables and groups and how the data is related to the tables.
Without knowing the facts it is quite hard to give an advice because there a only a small number of general things to look at (the rest heavily depends on the report itself)
Migrateduser
Hi,
You're right...the better way is to analyse each report
I spend time to analyse the rendering :
1 - at start : 80 seconds
2 - transform 2 joined DataSet in direct join in SQL request + cleaning dataset (removing all the non used fields in the dataset and the mapping) : 65s
3 - where clauses with params instead of filtering in tabs : 30s
4 - 2 data sets with filtering in where clauses instead of filtering in tabs : no supplementary gains...
it's fine, I win 50s at all.
Hope it will be usefull for someone...
Regards
Vincent