Я использую следующий запрос, чтобы вернуть все повторяющиеся записи с одинаковыми именем и фамилией.Хитрость в том, что contact_id должен быть в порядке убывания.
Запрос возвращает контакты, как и ожидалось, но это просто ТАК МЕДЛЕННО!Занимает около 6-8 секунд при проверке около 30 000 записей.
У меня есть contact_firstName, contact_lastName, contact_client_id и contact_id, все проиндексированы в базе данных.
Любые идеи, которые я мог бы сделать, чтобы попробовать иускорить это немного?Спасибо за вашу помощь:)
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`