|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() |
Bonjour tout le monde,
je suis entrain de travailler sur une base de données DB2 sous AS400 (I5), ma requête prend en moyenne 30 secondes pour s'exécuter et je cherche à optimiser mes temps de réponse. je ne sais pas s'il faut passer par les fichiers logiques ou utiliser directement les fichiers physiques. quelqu'un a t il une idée la dessus? merci d'avance
__________________
*** Ingénieur COBOL/AS400 *** ------------------------------------------------------------------- Mes articles, Mon Blog Rubrique Jasper/iReport :------- Forum Jasper -------- ----- FAQ Jasper/iReport ----- |
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Je suppose que ton OS est récent (V5R2 au moins).
Il existe désormais depuis cette version et dans les versions ultérieures deux moteurs SQL distincts :
Quelques règles en vrac: 1/ Ne JAMAIS utiliser les fichiers logiques comportant des select/omit. Donc le + simple est d'utiliser systématiquement les physiques ou tables dans les requêtes. Si tu utilises des logiques qui comportent des select/omit, tu peux être sûr à 99% que SQL utiliseras le CQE et non pas le SQE. 2/ Ne pas chercher à créer d'avance un index correspondant à la clause where des requêtes, en imaginant que ça ira plus vite. Il y a 95 chances sur 100 pour que SQL n'utilise jamais cet index. A faire une fois par requête3/ Analyser les perfs avec les commandes STRDBMON-ENDDBMON 4/ Utiliser l'instruction PREPARE dans les programmes 5/ Lire le pdf "SQL Performance Diagnosis" http://www.redbooks.ibm.com/redbooks/pdfs/sg246654.pdf 6/ Lire le pdf "DBMON – SQE vs CQE" http://www.centerfieldtechnology.com...ril%202006.pdf Avec tout çà, tu es un peu plus paré, mais le sujet est loin d'être épuisé ! N'hésite pas à fureter dans les forums, US surtout, c'est souvent édifiant. Et puis, montre-nous ta requête. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com