У меня есть таблица с 433,332 записями в базе данных MySql в Google Cloud.
Таблица выглядит примерно так
Album_ID | Track_Len | Track_Name | Ft_LName1 | Ft_FName1 | Ft_LName2 | Ft_FName2 | Ft_LName3 | Ft_FName3 | Row_Num |
+---------+-----------+---------------------------------------+-----------+-----------+-----------+-----------+-----------+-----------+---------+
| N40781 | 5.19 | Tumbala (Da Lata Remix) | NULL | Novalima | NULL | NULL | NULL | NULL | 1 |
| N40781 | 5.01 | Ruperta (Zeb Remix) | NULL | Novalima | NULL | NULL | NULL | NULL | 2 |
| N40781 | 6.35 | Coba Guarango (Toni Economides Remix) | NULL | Novalima | NULL | NULL | NULL | NULL | 3 |
| B15033 | 6.02 | II-V-P | Quartet | ARC | NULL | NULL | NULL | NULL | 4 |
| N32395 | 4.47 | My Babe | Stigers | Curtis | NULL | NULL | NULL | NULL | 5 |
| N32395 | 5.13 | Thats All Right | Stigers | Curtis | NULL | NULL | NULL | NULL | 6 |
Обратите внимание, что первичный ключ этой таблицы должен быть (Album_ID, Track_Name)
Я знаю, что в таблице есть повторяющиеся записи данных.
Я пытаюсь выполнить следующий запрос, чтобы найти и удалить эти записи:
select count(*)
from Track t1, Track t2
where t1.Album_ID = t2.Album_ID
AND t1.Track_Name = t2.Track_Name
AND t1.Row_Num > t2.Row_Num;
Однако для запуска требуется очень много времени. Кто-нибудь может предложить более эффективный способ сделать это?