effacer es doublons d'une table mysql [script]

WRInaute passionné
je developpe un projet qui necessite des tabes mysql ultra optimisée

j'avais fait un script pour virer les doublons que je ne trouve plus donc je vais le refaire

si ça interesse quelqu'un je le posterai

rog
 
Nouveau WRInaute
Si tu positionne bien tes contraintes tu devrai pas avoir ce problème, sauf si tu récupère des tables mal fouttues à la base bien sûr.

Moi ça peut m'intéresser, ça sert toujours quand on doit bosser sur des tables mal crées au départ...
 
WRInaute passionné
en fait ce sont pusieurs tables de plusieurs millions d'entrées qui sont pourraves au depart que je dois dédoubler matcher et merger

rog
 
WRInaute accro
ta de la memoire ?
alors tres simple comme algo

passe par un tableau php
SELECT
array_unique();
INSERT
 
WRInaute passionné
cool

mais il n'y a pas de difficulté à dedoublonner une table sur un champs unique mais quand on a pas ça devient plus delicat

rog
 
WRInaute accro
rog a dit:
cool

mais il n'y a pas de difficulté à dedoublonner une table sur un champs unique mais quand on a pas ça devient plus delicat

rog

reconstruis la table en tableau 2D
et regarde les codes : multi-dimensional arrays
http://www.php.net/manual/fr/function.array-unique.php

l'autre solution est de creer une table vide correcte avec les champs unique.
Sauvegarder la premiere dans un tableau et reinjecter le tableau dans la nouvelle table sql. Par defaut, pas de doublon.
 
WRInaute passionné
je me suis mal exprimé

champs unique : je ne parlais pas de l'attribut du champs mais d'un unique champs qui doublonne les entrées

je vais expliquer un contexte :

j'ai une table de 16 champs qui contient des doublons mais je sais pas les identifier sur un seul champs
donc je vais devoir appliquer un algo sur plusieurs champs pour deceler le doublon

le but de ce post n'etait pas de demander comment on fait, mais proposer le tool à ceux qui en auraient besoin

rog
 
WRInaute passionné
ça avance bien et je crois que je vais l'intégrer dans mes services online

l'operation sur un champ varchar 10 a pris moins d'une heure (40 minutes) pour une table de 3000 000 d'éléments et en a décelé 250 000

je vais tester ça sur 2 champs

rog
 
Nouveau WRInaute
Salut Rog,

je viens vers toi par ce sujet d'il y a 3ans,car je suis vraiment intéressé par votre script de dedoublonnage qui correspond exactement à mon problème actuel.
Comme tu souhaitais de le faire, serait-il possible de le poster pour moi ça me sera vraiment d'une grande utilité.
D'avance merci
 
Discussions similaires
Haut