Considérations de performances pour tous les rapports. SAP 2013 Support Package 1
Bases de données
23.5.5.2 Sous-rapports et bases de données SQL
Si vous créez un rapport principal depuis la table A et un sous-rapport depuis la table B :
• Le nombre de sous-rapports exécutés dépend de la présence d'une formule de sélection dans le rapport principal :
• Si une formule de sélection est spécifiée et transmet les limites de plage dans la Table A, le logiciel exécute uniquement les enregistrements répondant aux condition de limites de plage (2).
• Si aucune formule de sélection n'est spécifiée ou si la formule de sélection ne transmet pas les limites de plage dans la Table A, le logiciel exécute un sous-rapport pour chaque enregistrement dans la Table A (26).
• Le nombre d'enregistrements lus par chaque sous-rapport reste identique, qu'une sélection de limites de plage ait été appliquée ou non à la Table A. Chaque sous-rapport lit uniquement les enregistrements dans la Table B qui correspondent à chaque enregistrement dans la Table A (100).
23.5.6 Considérations de performances pour tous les rapports
566
23.5.6.1 Considération 1
Que vous manipuliez des fichiers de données et/ou des bases de données SQL, le logiciel analyse l'intégralité de la formule de sélection et passe les critères transmissibles en ignorant les autres. Par exemple, si la formule trouve d'abord des critères qu'elle peut transmettre, ensuite des critères qu'elle ne peut pas transmettre, puis de nouveau des critères qu'elle peut transmettre, elle transmet la première partie, omet la seconde et transmet la troisième.
• Dans le cas de fichiers de données, elle transmet ces critères à la couche Traduction de la base de données.
• Dans le cas d'une base de données SQL, elle transmet ces critères au serveur sous forme d'une clause WHERE.
A quelques exceptions près, les critères transmissibles de la formule de sélection sont ceux qui comparent un champ à une constante. Cette catégorie de critères englobe tous ceux qui peuvent être définis à l'aide de l'Expert Sélection (champ égal à, parmi, inférieur à, supérieur à, inférieur ou égal à, supérieur ou égal à, entre, commence par, ou comme constante).
2013-09-26
Bases de données
Dans ce domaine, deux cas de figures particuliers doivent être pris en considération. Il s'agit de ceux dans lesquels la formule contient plusieurs conditions dont certaines sont intransmissibles.
• Formules de type AND (ET)
{customer.REGION} = "CA" and
{customer.CUSTOMER ID}[3 to 5] = "777")
Dans cette situation, le logiciel peut transmettre la condition avant l'opérateur And mais pas après.
Dans la mesure où les enregistrements susceptibles de répondre à la seconde condition devront avoir déjà obligatoirement répondu à la première, le logiciel transmet d'abord celle-ci. Il extrait ensuite l'ensemble de données approprié, puis le soumet à la seconde condition. La règle avec les formules
AND est donc que le logiciel transmet les conditions transmissibles.
Remarque :
Si toutes les conditions d'une formule AND peuvent être remplies sur le serveur ou dans la DLL de la base de données, le logiciel transmet ces conditions.
• Formules de type OR (OU)
{customer.REGION} = "CA" or
{customer.CUSTOMER ID}[3 to 5] = "777")
Dans cette situation, le logiciel peut également transmettre la condition avant l'opérateur Or mais pas après. Cependant, comme il peut arriver que des enregistrements répondent à la seconde condition mais pas à la première, la transmission de celle-ci n'a aucun sens et risque au contraire de provoquer l'extraction d'une série de données incomplète. En d'autres termes, même s'il parvient
à extraire toutes les données répondant à la première condition, le logiciel devra de toute façon extraire l'ensemble des données de la ou des tables avant d'appliquer la seconde condition dans le Report Designer. C'est pourquoi, plutôt que de dupliquer une partie des données extraites, le logiciel ne passe rien. Il extrait l'ensemble des données puis exécute les deux tests dans le
Report Designer. La règle avec les formules de type OR est donc de transmettre tous les critères ou de n'en transmettre aucun.
Remarque :
Si tous les tests d'une formule OR peuvent être effectués sur le serveur ou dans la DLL de la base de données, le logiciel transmet tous les tests.
23.5.6.2 Considération 2
Pour savoir si le logiciel peut utiliser l'index de la Table A pour améliorer la performance, vérifiez :
• qu'il existe une formule de sélection ;
• qu'il existe des limites de plage dans la formule de sélection applicables au champ clé (indexé) de la Table A ;
• que l'option Utiliser des index est activée dans la boîte de dialogue Options.
567 2013-09-26

Публичная ссылка обновлена
Публичная ссылка на ваш чат обновлена.