Aide pour Optimiser requête SQL

Aide pour Optimiser requête SQL - SQL/NoSQL - Programmation

Marsh Posté le 20-05-2005 à 11:00:09    

Bonjour,
 
j'effectue pour mon appli delphi, une requète sur BDD AS400 pour que des utilisateur effectue des recherches de produits, l'utilisateur ayant saisie le début du n° de série (j'utilise alors LIKE ds ma requête ligne 6), ces produit devant ensuite remplir d'autres conditions ds d'autre tables (d'ou les 3 jointures).
 
Résultat ma requête prend 2 min  :heink:  
et je dois rajouter une autre jointure (LEFT a priori) qui encore augmenter le temps pris par la requête !
 

Code :
  1. SELECT COUNT(EX.SWSRL1) FROM TABLE_EXPEDITION EX                 
  2. JOIN TABLECOMMANDE CMD ON (CMD.sddoco = EX.swdoco AND CMD.sdkcoo=EX.swkcoo
  3. AND CMD.sdlnid=EX.swlnid)                             
  4. JOIN lbfrcjdep/F0005 F ON (SUBSTRING(CMD.sdmcu FROM 3 FOR 12)=F.drky)                                                       
  5. JOIN lbprdjde/f4104LA FLA ON (CMD.sditm=FLA.ivitm)                 
  6. WHERE ex.swsrl1 LIKE '1234%'                                       
  7. AND EX.SWSHPJ IS NOT NULL                                           
  8. AND F.DRSY='55' AND F.DRRT='C7'                                     
  9. AND SUBSTRING(F.DRDL01 FROM 5 FOR 5) = 'O'                         
  10. AND FLA.IVAN8=0 AND FLA.IVxrt='D '


(je n'ai pas le choix des champs...)
 
je débute en jointure, donc ca dois pas être du tt optimisé !
si quelqun peut m'aider, merci d'avance :)

Reply

Marsh Posté le 20-05-2005 à 11:00:09   

Reply

Marsh Posté le 20-05-2005 à 11:15:55    

http://forum.hardware.fr/forum2.ph [...] ash_post=0
 
ca peut t'aider, on sais jamais.

Reply

Marsh Posté le 20-05-2005 à 14:49:52    

Bah déjà, j'arrive pas à lire cette syntaxe pourrie pour les jointures, donc c'est mal parti...
 
En gros, regarde déjà d'un point de vue index que t'as tout ce qu'il faut là où il faut.
 
Sorti de ça, les LIKE et les SUBSTRING à toutes les sauces, c'est catastrophique niveau perfs, donc faut pas t'attendre à des merveille !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed