J'ai environ 84 millions de lignes. De ceux-ci, tous doivent être transférés vers une base de données distincte sur le même serveur, puis je supprime pour supprimer environ 60 millions de lignes de la base de données source.
Les 84 millions de lignes sont toutes dans le même tableau. Ce tableau représente à lui seul 90% de l'ensemble de la base de données.
Alors ... Source: 84 millions de lignes -> 24 millions de lignes Destination: 0 lignes -> 84 millions de lignes
La source exécute le mode de récupération complète, la destination sera simple.
Je me demande quelle serait la façon la plus efficace de procéder?
Plan A:
1) INSÉRER DANS la destination SELECT * FROM source
2) Source TRUNCATE
3) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
Plan B:
1) Restaurer une sauvegarde de la base de données source en tant que base de données de destination
2) Supprimez toutes les tables sauf celle requise dans la base de données de destination
3) Source TRUNCATE
4) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
Plan C:
1) INSÉRER DANS la destination SELECT * FROM source
2) SUPPRIMER la source OERE keep_condition = 0
ou autre chose?
Merci