The main solution for speeding up SSRS reports, regardless of the database and business intelligence in a large hierarchy, is report caching. If you do it wisely (for example, preloading the cache at 7:30 in the morning) or cache reports with a hit for 45 minutes, you can find massive gains in download speed.
SSRS caching http://msdn.microsoft.com/en-us/library/ms155927.aspx
Preloading the cache http://msdn.microsoft.com/en-us/library/ms155876.aspx
From your question, you have caching on hit, if you donβt like the initial reports that have been stored for so long, and the data is relatively static throughout the day, you can increase the life of the cache .
Finally, you can also choose for business managers to instead receive these reports by email subscription , which will send them a report of the time, which they can find easier and more systematic.
If all of them do not work, consider the sniffing parameter, i.e.
If this is your original request
CREATE PROCEDURE [SP_Test_ParameterSniffing] @CustomerID INT AS BEGIN SELECT * FROM Customer c WHERE c.CustomerID = @CustomerID END
All you have to do is add a new parameter to your SP code and assign the value passed to SP to the new parameter and use it in your WHERE clause:
CREATE PROCEDURE [SP_Test_ParameterSniffing] @CustomerID INT AS BEGIN DECLARE @CustomerID2 INT; SET @CustomerID2 = @CustomerID; SELECT * FROM Customer c WHERE c.CustomerID = @CustomerID2 END
Bryan swan
source share