Tips and Tricks
 Crystal Reports Forum : Crystal Reports 9 through 2020 : Tips and Tricks
Message Icon Topic: Optimum Report Options Post Reply Post New Topic
Author Message
AntDC
Groupie
Groupie
Avatar

Joined: 23 Dec 2008
Online Status: Offline
Posts: 76
Quote AntDC Replybullet Topic: Optimum Report Options
    Posted: 11 Nov 2009 at 8:52am
Hi,
we have some reports which generate thousands of pages, and hence take quite some time.
There are executed via a JRC and sent back to the client in a browser window.

I am wondering what little tweeks I can do to increase performance...

For instance........
  • Should I stop using "Page N of M"
  • Should I uncheck "Create Group Tree"
  • Should I uncheck "Select Distinct Records For Brwsing"
Basically - what are the optimum Report options settings for speed.

Many thanks

Ant
IP IP Logged
lockwelle
Moderator
Moderator


Joined: 21 Dec 2007
Online Status: Offline
Posts: 4372
Quote lockwelle Replybullet Posted: 12 Nov 2009 at 6:26am
Are the reports generated from stored procs or direct joins to the DB tables?
 
Just wondering, because if the report joins to the table(s) it could be dealing with filtering a lot of data out, but a stored proc would do that, and perhaps more effeciently as you can specify the joins and reduce the number of records for each step, and your SQL software is optimized to perform such operations (use each software to its strength).
 
If the report is already coming from a stored proc, does it significantly longer to just run the stored proc than to create the report (after all if the stored proc takes 5 minutes to run, report is not going to be any faster) in which case, the goal would be to speed up the stored proc (just did this myself after a yr of putting it off...so much faster, was worth the effort).
 
I know I didn't answer the original question, as I really don't know...my concerns are usually about getting the data as fast as possible, CR creation/formatting of the report is something I really haven't bother with (and some of my reports are 1000s of pages, but they don't take too long to retrieve)
 
HTH
IP IP Logged
DBlank
Moderator
Moderator


Joined: 19 Dec 2008
Online Status: Offline
Posts: 9053
Quote DBlank Replybullet Posted: 12 Nov 2009 at 7:30am
Hey Ant,
My two cents, I like lockwelles approach if you can do it. The more I limit and massage the data in SQl (as long as I don't screw that up) the faster the report runs. If you have run time params if you can pass them into a stored proc you may see huge increases. If you can't do that maybe you can use a view that prelimits the data some for specific reports and returns warnings if the user goes outside your predefined data set (view). I have one table that has several million rows and most of the reports that query it require user params at runtime (usually date ranges). Running against the table when it is joined to other tables in can take several minutes. Passing params through a stored proc can reduce it to under 1 minute easily.
As lockwelle said try to tease out how much time it takes to query the data on your DB side versus crystal to calculate and render. You may have to tweak on both sides of it.
 
Either way do not use "page n of m". It drags that report into a molasses pit with that many pages. Just use page number if needed.
I do not believe the group tree matters either way. Perform Grouping on server should be True, Use indexes on Server for Speed should be true.


Edited by DBlank - 12 Nov 2009 at 7:32am
IP IP Logged
lockwelle
Moderator
Moderator


Joined: 21 Dec 2007
Online Status: Offline
Posts: 4372
Quote lockwelle Replybullet Posted: 12 Nov 2009 at 11:15am

I didn't know about the page n of m...will have to keep that in mind.

IP IP Logged
DBlank
Moderator
Moderator


Joined: 19 Dec 2008
Online Status: Offline
Posts: 9053
Quote DBlank Replybullet Posted: 13 Nov 2009 at 7:22am
I remember reading somewhere (probably Brian's book) that if you use Page N of M it has to render the report twice. Once to calculate the total number of pages to get the M which it cannot do unless all the fomulas and suppressions are rendered too. Then the second time to actually render it and include the page numbering.
Not bad if you have a 10 page report and no subreports but really bad for anything substantial.
It is too bad because a lot of managers like that on the report.
I just ran a test on it (because I realized I have old reports that use this and probably shouldn't)and a 12 page report with several subreports that was using N of M it took about 13 seconds to render and the same report without using it took about 8 seconds.
IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum



This page was generated in 0.031 seconds.