question

Bhargavi avatar image
Bhargavi asked

How to improve performance of a report in SSRS?

Hello Everyone, AnyOne Please help me out from my problem. I have a report which have many filters in it. The data retrieval time is good, but data processing time is more. How can I improve the performance of my report? Is there any way I can reduce the filters by using them in Query? How can I change filters to Query? To improve performance of report not from query part but from design part, Are there any steps I can follow? Thanks in Advance.
ssrs
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

sp_lock avatar image
sp_lock answered
It really depends.. - Does the report run via a SP/View/Dataset? - Are the filters used by the end user? - Does you have access to change the view/sp/dataset? You can query the report server database to see where the most time was taken... Query processing or rendering. If it is querying, then look at the actual query that is executed.
5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Bhargavi avatar image Bhargavi commented ·
Hi Jonlee, The report run via dataset. The filters are used by end users. I have access to change the dataset. The Query rendering is taking more time.
0 Likes 0 ·
sp_lock avatar image sp_lock commented ·
CAn I ask how you know it is the rendering... Do you have any graphics on the report? How many columns/groups?
0 Likes 0 ·
Bhargavi avatar image Bhargavi commented ·
I am not sure if it is rendering.. But when I am viewing the report its taking lot of time. When I hard coded it and saw the data retrieval is fine. If i include filters then it takes lot of time. There are 4 groups. In Report Execution Log data processing n rendering shows more time.
0 Likes 0 ·
sp_lock avatar image sp_lock commented ·
Run the report and send the times... How many rows are you trying to display?
0 Likes 0 ·
Bhargavi avatar image Bhargavi commented ·
I am displaying 2051 rows. Time Data Retrieval : 2462 ms Time Processing : 42210 ms Time Rendering : 263ms
0 Likes 0 ·
ThomasRushton avatar image
ThomasRushton answered
If the time delay is in the Data Processing aspect, then you're looking at rewriting the query to provide the data in the format you require to minimise the data processing required, or throwing more hardware at the problem. What's the spec of the SSRS server? What else is running there?
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Håkan Winther avatar image
Håkan Winther answered
How many records are returned to ssrs before the report filtering/grouping/sorting is applied? You should use a procedure and send the report parameters to the procedure to make sure you get as few records as possible to the report and gain benefits from indexes and SQL server capabilities, (data reduction and grouping).
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Fatherjack avatar image
Fatherjack answered
1. Write a query to select only the data you require. 2. Create a stored procedure based on this query. 3. Use the stored procedure as the data source for your report. 4. Use report parameters to provide values for the procedure parameters. This will: a. reduce the amount of data travelling from your data server to your report server so speed the transfer. b. reduce the amount of data the report server has to process and format c. help your data server as it will have an execution plan for your stored procedure If your stored procedure takes a long time to run (from SSMS) then you need to look at tuning that by considering the indexing on the table, the construction of the stored procedure SQL and so forth.
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.