User`s guide

23.8 Saved Data Indexes
You can increase the performance of a Crystal report by indexing its saved data. When you create a
Saved Data Index on a particular field, Crystal Reports can more efficiently filter on that field. In particular,
you will achieve considerable performance gains—especially in larger reports—by indexing fields that
are referred to by record selection formulas.
Note:
The benefits of Saved Data Indexes are largely unnoticeable in reports whose record selection returns
fewer than 10,000 records.
Saved Data Indexes are especially useful when you schedule your Crystal reports for viewing through
SAP BusinessObjects Business Intelligence platform. For example, you want to provide your users with
information about yearly sales for North America, so you create a report. You also want sales
representatives to see figures for their individual regions, but you don't want them to see figures for
other regions, so you create a selection formula to limit the report. After you schedule the report in SAP
BusinessObjects Business Intelligence platform and sales representatives view its instances, they see
only figures for their own regions. If you had also created Saved Data Indexes, the representatives
would see their records without having to wait for all records to be loaded.
In other words, the Saved Data Indexes allow a subset of the report's data to be accessed by a user.
The indexes are invoked by applying a selection formula in SAP BusinessObjects Business Intelligence
platform at view time (that is, the selection formula applies a filter to an indexed field). These selection
formulas can be applied by setting them in a report viewer, or by setting them through a report processing
extension. (For information about report processing extensions, see the
SAP BusinessObjects Business
Intelligence Platform .NET SDK Developer Guide
.)
23.8.1 How Report Indexing works
With a non-indexed report, Crystal Reports has to look at every record in order to locate values that
meet specified criteria. For instance, when a user requests a particular subset of the saved data, or
when a user requests the report but only has rights to access certain records, Crystal Reports filters
the saved data by checking each record for the appropriate values.
If you have indexed the saved data by one or more fields, however, Crystal Reports already knows
which records contain particular values. Consequently, when a user accesses a particular subset of
the saved data from the indexed field, Crystal Reports can locate and format the appropriate records
more efficiently.
Once you have created Saved Data Indexes, they work entirely in the background. Users don't know
that the saved data is indexed, and the grouping, sorting, or formatting of the report doesn't change at
all. The indexes merely allow Crystal Reports to locate particular records quickly, without passing
through the saved data in its entirety.
2012-03-14551
Understanding Databases