Bonjour à tous,
Voilà, je suis à la recherche de la meilleur solution pour réaliser un update dans mon cas.
Nous souhaiterions mettre à jour environ 400 000 000 lignes dans une table de 1 000 000 000 lignes.
Nous hésitons sur plusieurs solutions, et je ne me rends pas trop compte de ce qui peut etre le plus efficace.
Moi, ma solution serait la suivante :
Mes collègues ont proposé d'autres solutions :Solution 1 :
on crée une nouvelle table de structure identique
On alimente la nouvelle table avec un insert et en modifiant les valeurs au passage qui nous intéresse.
On echange les deux tables.
Solution 2 :
On crée une boucle for sur la table et on met à jour ligne par ligne avec un commit entre chaque.Sachant que d'un point de vue technique, nous avons quand même les contraintes suivantes :Solution 3 :
On extrait les lignes dans une nouvelle table et on les modifie
On supprime les lignes dans la table d'origine et on les ré-insère modifiées
Je ne sais pas trop comment ces contraintes peuvent influencer l'alimentation et les mise à jour de la table.
- La table recoit en permanence des nouveaux records
- Des package font réference à la table
- La table doit restée accessible
Quelle solution me conseilleriez vous ? avez vous d'autres solutions à proposer ?
Merci d'avance.
Steven
Partager