Operation Manual
Understanding Databases
Saved Data Indexes
25
Crystal Reports User’s Guide 523
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 BusinessObjects Enterprise. 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 BusinessObjects Enterprise 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 BusinessObjects Enterprise 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 BusinessObjects Enterprise COM SDK Guide.)
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.