Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   alguina consulta rapidita q me permita borrar uno de los registros repetidos (http://www.forosdelweb.com/f86/alguina-consulta-rapidita-q-permita-borrar-uno-registros-repetidos-444323/)

tomasulo 18/11/2006 17:20

alguina consulta rapidita q me permita borrar uno de los registros repetidos
 
tengo una tabla con muchisimos registros y un Pc con poca cpu y poca ram

la tabla es del tipos Id*, n, nombre, . . .
el tema es q por error repeti un insert y la tabla tiene unos 5000 registros repetidos, dos a dos, (excepto el campo id claro)

todas las consultas q intento son demasiado complicadas y pasan horas y no hacen nada. (tiene muy poca ram)

alguina consulta rapidita q me permita borrar uno de los registros repetidos.

Cita:

esto me va muy lento, necesito algo similar pero mas rapido

delete
from tabla
where id in (
select id
from tabla
group by n
having n=2)


yacatl 18/11/2006 20:13

Pues ojalá haya alguién que te responda porque yo tengo a veces problemas parecidos.

He optado hasta el momento por hacer un select ordenado por nombre y pasarrlo por un script php donde pregunto si el registro ya se encuentra en un arreglo que voy formando con los que aun no esten, si están hago el delete y sino pues lo agrego al arreglo y paso con el siguiente.

Un estimado de que para una tabla con 200,000 registros me tarda mas o menos 1 min en hacer el proceso.

Saludos!!

tomasulo 19/11/2006 07:36

1 minuto???

a mi pe sas una hora y continua roncando

BrujoNic 19/11/2006 07:46

Lo más lógico y evitar que los registros se repitan, es creando una llave que NO se repita, de esa manera NO se van a poder repetir los registros manteniendo la integridad referencial de la BD.

Ejecuta esa sentencia que te está funcionando y luego cambia ID para que sea llave UNICA.


La zona horaria es GMT -6. Ahora son las 10:37.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.