Crystal Reports for Eclipse Designer Guide

Performance considerations in one-to-many links

The information provided in this section is intended to help you maximize processing speed and minimize network traffic when you are running your reports. You will learn about the best ways to use selection formulas and indexes in one-to-many situations to make your reporting more efficient. If you do not use the information in this section, your reports may end up processing dozens or even thousands more records than necessary.
When a one-to-many situation exists between two database tables and the program matches up records from the tables, there are a number of factors that determine how many records the program reads and evaluates.
The tables that follow show the effects of the different factors on the number of records the program ultimately has to read. The charts are based on these assumptions:
  • Table A contains 26 records (one for each letter in the alphabet).
  • Table B contains 2600 records (100 matching records for every record in Table A).
  • The scenario is to produce a report that finds two specific records in Table A and the 200 records (100+100) in Table B that match those two records in Table A.
    In a best case scenario, the program would only have to read about 200 records to accomplish the task.
    In a worst case scenario the program would have to read about 67,600 records to accomplish the same task.

Note: The performance considerations for data files are different from the considerations for SQL databases. A data file is any non-SQL database that is accessed directly from Crystal Reports. For the purpose of this discussion, an SQL database is any database capable of accepting SQL commands accessed directly from Crystal Reports or through ODBC as well as any other database types that are accessed through ODBC.



SAP BusinessObjects
http://www.sap.com/sapbusinessobjects/
Support services
http://service.sap.com/bosap-support/
Product Documentation on the Web
http://help.sap.com/