Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2007, 17h13   #1
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Par défaut temps de reponse catastrophique :logique ou physique a utiliser

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 -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2007, 14h30   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Par défaut Règles SQL/400

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 :
  • Le moteur CQE ou Classic Query Engine
  • Le moteur SQE ou SQL Query Engine, bien plus performant que le premier et actuellement en cours d'évolution aux Rochester Labs.
Avant la 5.2, seul le CQE existait.

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ête
Pour améliorer les performances de tes requêtes, tu as la solution de mettre ton job sous debug (STRDBG UPDPROD(*YES)) AVANT exécution de SQL. Lance ta requête puis analyse la log de ce travail (CALL QCMD + F10 si travail interactif). Tu y verras des messages t'indiquant que SQL a dû créer un index sur telle ou telle clé pour améliorer les perfs (il faut faire <F1> sur le message et bien lire le message de second niveau). Si ta requête est récurrente, tu as tout intérêt à faire un CREATE INDEX sur les clés indiquées dans le message. Par la suite, comme l'index existe, SQL ne le recréera pas et c'est comme ça que tu gagneras en perf.
3/ 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.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web