Bonjour à tous,
Travaillant avec un ETL, je suis dans la problématique : je fais des INSERT à gogo dans une table indexée (au début du traitement, cette table est vidée par truncate), avec un commit régulier, ce qui force (si j'ai bien compris, car je viens d'apprendre la notion d'index étant un peu débutant sous oracle ) à recalculer les index inutilement après chaque commit (et donc prendre un temps de traitement relativement long)
Solution : désactiver l'index, faire mon INSERT massif, réactiver l'index (le recalculer) et après pouvoir continuer mon traitement.
Obstacle : malgré des recherches assidues Google is your friend, j'ai l'impression que la commande "ALTER INDEX mon_index DISABLE" ne semble pas être reconnue.
Question : Comment faire ? Je ne sais pas si la séquence
ALTER INDEX mon_index UNUSABLE;
INSERT INTO ma_table...;
ALTER INDEX mon_index REBUILD;
est correcte pour avoir une belle table remplie avec des millions de lignes bien indexées.
Observation : Remerciements d'avance à tous !
Partager