J'ai une assez grande table avec 19 000 000 d'enregistrements, et j'ai des problèmes avec les lignes en double. Il y a beaucoup de questions similaires ici même dans SO, mais aucune d'entre elles ne semble me donner une réponse satisfaisante. Quelques points à considérer:Supprimer des doublons d'une grande table
- unicité de la ligne est déterminée par deux colonnes,
location_id
etdatetime
. - Je voudrais garder le temps d'exécution aussi vite que possible (< 1 heure).
- La copie de tableaux n'est pas très pratique car la taille de la table est de plusieurs gigaoctets.
- Pas besoin de s'inquiéter des relations.
Comme dit, chaque location_id
peut avoir qu'une seule datetime
distincte, et je voudrais supprimer toutes les instances en double. Peu importe lequel survit, car les données sont identiques.
Des idées?
Envisagez de supprimer temporairement les index, les triggers s'il existe. – Pentium10
Quel était le problème avec l'approche donnée dans http://stackoverflow.com/questions/1585412/sql-to-delete-duplicate-records-in-a-table? – Mike
@ Pentium10, bon point, pourrait accélérer les choses, mais pourrait également tuer les performances si je passe par la solution de sous-requête. –