J'ai le tableau simple avec foreign key
(pour la colonne simple) et nonunique index
pour la colonne impliquée dans FK
. Je désactive FK
avant bulk load
(avant le tableau de charge en bloc I truncate
), et l'activer après. Je sais que dans Oracle lorsque vous désactivez un UNIQUE
ou PRIMARY KEY constraint
un index associé est supprimé. Et lorsque vous activez une contrainte UNIQUE
ou PRIMARY KEY
, un index associé est créé. Mais qu'en est-il de désactiver/activer FK
? Devrais-je laisser tomber manuellement nonunique index
pour FK
avant le chargement en bloc et également créer manuellement nonunique index
après? Ou je peux garder cet index (je veux dire, cet index serait-il valide si je le gardais)?Recréer l'index non unique pour la charge en vrac
-1
A
Répondre
1
Vous devez d'abord désactiver le INDEX
ALTER INDEX idx_fk_column UNUSABLE;
puis après vos opérations DML re-construire.
ALTER INDEX idx_fk_column REBUILD;
1
Si vous conservez l'index, il est toujours valide. Mais il peut s'agir d'un surcoût pendant le chargement. Ainsi, certains sites préfèrent désactiver (en utilisant UNUSABLE) et réactiver (en utilisant REBUILD) des index non-uniques (Note: S'il s'agit d'un index Unique, le réglage UNUSABLE empêcherait les INSERT, donc vous devrez réellement DROP et CREATE).
Merci. Belles options. Je pense que c'est mieux que de recréer l'index. – ArtSol