J'utilise la requête suivante pour retourner tous les enregistrements en double avec les mêmes prénom et nom. L'astuce est que le contact_id, doit être dans l'ordre décroissant.Accélérer MySQL rejoindre pour vérifier les doublons
La requête renvoie les contacts comme prévu, mais c'est juste SO SLOW! Prend environ 6-8 secondes en vérifiant environ 30 000 enregistrements.
J'ai le contact_firstName, contact_lastName, contact_client_id et contact_id tous indexés dans la base de données.
Des idées que je pourrais faire pour essayer d'accélérer un peu? Merci pour votre aide :)
SELECT z.contact_id, z.contact_firstName, z.contact_lastName, RIGHT(z.contact_lastName,1) AS nameNum
FROM (`contacts` x)
JOIN `contacts` z ON `x`.`contact_firstName` = `z`.`contact_firstName`
AND x.contact_lastName = z.contact_lastName
AND x.contact_client_id = ".$ID."
AND z.contact_client_id = ".$ID."
WHERE `x`.`contact_id` < `z`.`contact_id`
GROUP BY `z`.`contact_id`
Les accents graves! * Mes yeux! * –
@djacobson: Pour ma part, je les apprécie. Ils peuvent rendre beaucoup plus facile de filtrer ce qui est un champ. –
Reçu la réponse ici: http://stackoverflow.com/questions/11336246/mysql-min-group-by-on-large-tables-8000-rows –