У меня есть таблица
id user_id date created_at
1 123 2020-02-02 2020-02-02 10:00:00
2 123 2020-02-02 2020-02-02 10:00:01
3 789 2020-02-12 2020-02-12 12:00:00
4 456 2020-02-10 2020-02-10 10:00:00
5 456 2020-02-10 2020-02-10 10:00:01
Я хочу удалить повторяющиеся записи и хочу получить желаемый вывод -
id user_id date created_at
1 123 2020-02-02 2020-02-02 10:00:00
3 789 2020-02-12 2020-02-12 12:00:00
4 456 2020-02-10 2020-02-10 10:00:00
Я пробовал следующий запрос -
DELETE
`a`
FROM
`table1` AS `a`,
`table1` AS `b`
WHERE
`a`.`id` < `b`.`id` AND `a`.`user_id` <=> `b`.`user_id`
Но это занимает слишком много времени, и я получаю ошибку:
Lock wait timeout exceeded; try restarting transaction
В моей таблице содержится более 9500000 записей.
Что может быть лучшим альтернативным запросом?