Bonjour,![]()
J'ai une table COMMANDE avec une clé primaire composé de 3 champs :CETAB, NO_COMMANDE, CTIERS
J'ai mis ces 3 champs car unitairement ils ne sont pas uniques. Seule le couple de ces 3 valeurs peut être unique.
J'ai activé les logs, et j'ai pu constater que la requete suivante est tres gourmande en CPU:
select distinct(C_CTIERS),C_TMODIFICATION from COMMANDE where C_NO_COMMANDE=nnnnn and C_CETAB=xxxxxxxxx
Je précise que la table contient un peu plus de 2 millions d'enregistrements.
Dans les traces j'obtiens un CPU variable entre 38000 et 39000 alors que les autres requetes sont en général entre 10 et 300 grand max.![]()
J'ai essayé en plus de ma triple clé primaire, d'ajouter un index sur CETAB, NO_COMMANDE et CTIERS, j'ai pu ainsi faire descendre la composante "read" du tiers dans les logs, mais je reste à 38000 et 39000 pour CPU.
Est-ce que quelqu'un pourrai m'aider à optimiser ma table pour faire déscendre en cout CPU ma requete.
Merci de votre aide![]()
olivier
Partager