Performances des requêtes distribuées dans IDS 10
Posted in 2005
Translated from English by DrWatson — View original
J'ai une requête qui s'exécute rapidement (1 seconde) dans notre environnement IDS 9.30 mais qui s'exécute longuement (j'ai cessé d'attendre après 11 minutes) dans notre environnement IDS 10. La cause est une requête distante. Le plan d'exécution (explain) d'une instance 9.3 : .... 2) psoft.ps_bi_line: REMOTE PATH Remote SQL Request: select x0.original_invoice ,x0.original_line_seq ,x0.invoice ,x0 .line_seq_num from finprod:"psoft".ps_bi_line x0 where ((? = x0. invoice ) AND (? = x0.line_seq_num ) ) .... Le plan d'exécution (explain) d'une instance 10 : .... 8) psoft.ps_bi_line: REMOTE PATH Remote SQL Request: select x0.original_invoice ,x0.original_line_seq ,x0.invoice ,x0 .line_seq_num from finprod:"psoft".ps_bi_line x0 .... Deux éléments me semblent importants : 1) La requête distante passe de la position numéro 2 dans IDS 9.3 à la position numéro 8 dans IDS 10. Ce n'est probablement pas crucial, mais je l'ai quand même remarqué. 2) Le filtre qui est poussé vers l'instance distante est absent du plan d'exécution de IDS 10, ce qui signifie que toute la table ps_bi_line sera récupérée (~12 millions de lignes). Je suis à peu près certain que c'est problématique. Des idées sur la façon d'annuler cette mauvaise optimisation ? Merci, DL envoi à informix-list