Tengo una tabla bastante grande con 19 000 000 de registros, y tengo un problema con las filas duplicadas. Hay muchas preguntas similares incluso aquí en SO, pero ninguna parece darme una respuesta satisfactoria. Algunos puntos a considerar:Eliminar duplicados de una tabla grande
- Fila singularidad está determinada por dos columnas, y
location_id
datetime
. - Me gustaría mantener el tiempo de ejecución lo más rápido posible (< 1 hora).
- Copiar tablas no es muy factible ya que la tabla tiene varios gigabytes de tamaño.
- No hay necesidad de preocuparse por las relaciones.
Como se ha dicho, cada location_id
sólo puede tener una distinta datetime
, y me gustaría para eliminar todas las instancias duplicadas. No importa cuál de ellos sobreviva, ya que los datos son idénticos.
¿Alguna idea?
Considere eliminar temporalmente los índices, activadores si existen. – Pentium10
¿Qué estuvo mal con el enfoque dado en http://stackoverflow.com/questions/1585412/sql-to-delete-duplicate-records-in-a-table? – Mike
@ Pentium10, buen punto, podría acelerar las cosas, pero también podría matar el rendimiento si sigo con la solución de subconsulta. –