Citation:
Envoyé par
pacmann
Ben dis-moi, c'est pas mal tout ça !
La première jointure sur CUS_IDPARENT et emp_customercode
Quelle est la cardinalité de cette relation entre #tw_BSI_ToProcess et EMP_EMPLOYEE ?
Proche du 1 - 1 ?
C'est un import : Il y a des EMP qui existent déjà et des EMP qui n'existent pas pour un BSI. Et à l'inverse, pour 1 EMP, il peut y avoir plusieurs BSI. Mais ils sont rapidement tagués comme doublon et exclus dans les tests suivants.
Citation:
Tu as un index sur CUS_IDPARENT : combien d'employés sont renvoyés pour un CUS_IDPARENT donné ?
=> Si il y en a trop et donc que emp_customercode est très discriminant, il faut envisager de d'ajouter la colonne emp_customercode à l'index CUS_IDPARENT.
Pour CUS_IDPARENT, j'ai entre 1 et 1 millions d'EMP, avec une moyenne à 5000.
Pour 1 emp_customercode, j'ai entre 1 et 3 millions d'EMP, avec une moyenne de 1 : les 3 millions correspondent au code vide '', et il y a en fait quasiment 1 code pour chaque EMP. Par contre, dans le cas de cet importe, il y en a forcément plusieurs, c'est à dire en général entre 2 et 5.
Emp_customercode est quant à lui "presque unique".
Citation:
Si on joint le résultat avec CUS_CUSTOMER, je pense que ça ne pose aucun problème (que soit en utilisant l'index primaire de cus_customer ou non !)
En joignant une deuxième fois EMPLOYEE sur emp_idparent, on lit 4000 lignes par index, donc tout va bien encore une fois...
Du coup, j'ai envie de te demander :
Vous avez des problèmes de perfs ?
oui ! C'est lancé le soir, il faut que ce soit fini le matin... ^^
Citation:
Si oui, avez-vous localisé quelle partie du traitement est lente ?
Non. C'est une procédure stockée qui fait beaucoup de choses. Et en particulier, le temps d'exécution dépends énormément des données à l'intérieur. Bien que traitant par bloc de 1000, les 1000 peuvent passer en 10s ou en 5 minutes. Je n'ai pas encore réussi à trouver où est le problème, j'espérais que les index le résoudrai.
Citation:
Si encore une fois oui, est-ce que ta jointure prend bien les index de manière satifsfaisante ?
Je vais vérifier ça.
Citation:
Et est-tu bien d'accord avec moi qu'à priori des index les tables # n'apportenteraient probablement pas grand chose de plus ?
J'ai testé, comme je l'avais dit, et ça n'apporte effectivement rien de plus.