La suppression de doublons de lignes à partir de la base de données sqlite

J'ai une énorme table de 36 millions de lignes en SQLite3.

Dans cette très grande table, il y a deux colonnes

  • de hachage texte
  • d - réel

Cependant, certaines lignes sont des doublons. C'est à la fois de hachage et d ont les mêmes valeurs.

Aussi, si deux hachages sont identiques, de sorte que les valeurs de d, mais deux identiques ds n'implique pas deux identiques hachages

De toute façon, je veux supprimer les lignes en double. Je n'ai pas de colonne de clé primaire.
Quel est le moyen le plus rapide pour ce faire?


EDIT: delete from dist where rowid not in (select max(rowid) from dist group by hash);

Semble faire l'affaire.

InformationsquelleAutor Patches | 2011-11-18