Les informations fournies dans cette section permettent d'optimiser la vitesse de traitement et de réduire au maximum le trafic réseau lors de la création de rapports. Vous apprendrez à tirer parti des formules de sélection et des index dans un environnement un-à-plusieurs pour rationaliser la création des rapports. Si vous ne suivez pas les conseils donnés ci-dessous, vous risquez de produire des rapports traitant beaucoup plus d'enregistrements que nécessaire.
Lorsque deux tables de base de données font l'objet d'une mise en relation de type un-à-plusieurs, le nombre d'enregistrements examinés pendant la comparaison de leur contenu dépend de plusieurs facteurs.
Les tables suivantes montrent les effets de ces différents facteurs sur le nombre d'enregistrements réellement lus. Ils sont basés sur le scénario suivant :
La table A contient 26 enregistrements (une pour chaque lettre de l'alphabet).
La Table B contient 2 600 enregistrements (100 enregistrements pour chaque enregistrement de la Table A).
Le scénario consiste à créer un rapport permettant de trouver deux enregistrements spécifiques dans la Table A et les 200 enregistrements (100+100) de la table B correspondant aux deux enregistrements de la Table A.
Dans le meilleur des cas, le programme ne lit que 200 enregistrements environ pour accomplir cette tâche.
Dans le pire des cas, le programme doit lire environ 67 600 enregistrements pour accomplir cette tâche.
Remarque : Les facteurs de performance des fichiers de données sont différents de ceux des bases de données SQL. Par fichier de données, nous entendons toute base de données non-SQL accessible directement depuis Crystal Reports. Par base de données SQL, nous entendons toute base de données acceptant des commandes SQL et accessible directement (ou via ODBC) depuis Crystal Reports, ainsi que les autres types de bases de données accessibles via ODBC.