Operation Manual
Understanding Databases
Linking tables
25
Crystal Reports User’s Guide 491
customer that has placed an order with the company. The Orders table
contains information about orders that customers have placed. Since
customers can place more than one order, there may be more than one
record in the Orders table for each customer record in the Customers table.
This is a one-to-many relationship.
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. For a better understanding
of the difference between direct access databases and ODBC data sources,
see Accessing Data Sources in the online help.