Bonjour,
J'ai modifié la clé primaire d'une table, pour la passer de 3 colonnes (varchar2 / date / number) à une seule colonne, une séquence numérique tout ce qu'il y a de plus normal.
Lorsque je fais une requête delete, en passant sur cette nouvelle clé primaire, la suppression met 36secondes. Avant cette modification de clé primaire, il y avait un index sur CODECR, et le delete par CODECR était instantanné.
Quelqu'un aurait-il une explication, une piste à explorer pour expliquer ce temps de traitement ?
Je mets des infos sur les manips que j'ai faites.
Il s'agit d'une table ECR, avec comme colonnes
IDECHA VARCHAR2(3)
DTEECR DATE
HORECR NUMBER(4)
CODECR NUMBER(8) (<= séquence)
[...]
La PK était :
C'est désormaisALTER TABLE ECR ADD ( CONSTRAINT PK_ECR
PRIMARY KEY (IDECHA, DTEECR, HORECR)
- j'ai recréé un index sur l'ancienne PK IDECHA/DTEECR/HORECRALTER TABLE ECR ADD ( CONSTRAINT PK_ECR
PRIMARY KEY (CODECR)
- un index unique existe sur CODECR d'après l'onglet Script de TOAD.
- j'ai fait une reprise de données pour les tables filles
- j'ai recalculé les stats sur tout le schéma
Malgré tout, un delete par codecr est très long.
Quel pourrait-être le problème ?
S'il manque des éléments, j'éditerai mon message après vos demandes.
Merci par avance![]()
Partager