Operation Manual

Understanding Databases
Server-side processing
25
Crystal Reports User’s Guide 517
Lower transfer time from the server to the client.
Here’s how server-side processing works: by using SQL pass-through
technology to send an SQL statement to the database server and retrieve an
initial set of data, Crystal Reports off-loads much of the data retrieval and
sorting work onto the server system, thus freeing up local memory and
resources for more important tasks. That is why server-side processing works
only for reports that have been sorted and grouped; if a report has not been
sorted and grouped (for example, if it is a simple list report), then there is no
processing to push to the server. You should also note that server-side
processing works only for reports based on SQL data sources.
Note:
This description applies only to off-loading grouping and sorting to the server.
Large amounts of server resources can be used for the temporary
databases required when pushing grouping to the server.
Keep in mind that in order to perform the grouping on the server, your report
must conform to the following conditions:
The Perform Grouping on Server option (in the Options dialog box) is
enabled. For more information, see “Enabling server-side processing” on
page 519.
The report uses some form of grouping.
The report is at least partially hidden (at the very least, the Details section
must be hidden). Since the server will process those sections that are
hidden, the greater the portion of the report that is visible, the greater the
amount of processing that must take place on the client side. If the
Details section is shown, server-side processing will not be possible.
In some cases, formula fields must be processed on the client side. If
grouping is based on a formula field, or if a formula is used in a summary
field, then all the records must be transferred to the client side before the
formula can be evaluated. This will increase the amount of time required
to run the report. Therefore, you may want to use SQL expressions as an
alternative to formulas.
Note: Formulas used for record selection are an exception and can be
pushed down to the server.
For a report to be processed on the server, any running totals appearing
in the report must be based on summary fields (since the data needed for
the running totals will be pulled over to the client side).
For a report to be processed on the server, the report must contain only
summary fields of these types: Sum, Maximum, Minimum, Count.
The report does not contain specified value grouping.