Странности творятся. Почитав
мануал, обращаюсь к друпаловой БД, ищу дубликаты адресов в таблице с 7500 строками:
SELECT `alias`
FROM `PREFIX_url_alias`
GROUP BY `language`, `alias`
HAVING COUNT(*)>1;
MySQL достаточно резво выдаёт ответ из почти семи десятков строк. Делаю запрос с подзапросом, чтоб выбрать номера узлов с найденными на предыдущем шаге дублями:
SELECT `source`
FROM `PREFIX_url_alias`
WHERE `alias` IN (
SELECT `alias`
FROM `PREFIX_url_alias`
GROUP BY `language`, `alias`
HAVING COUNT(*)>1
);
В итоге MySQL тяжко задумывается — вот уж 20 минут непонятно, что делает. Посмотрел
SHOW CREATE TABLE
— по полю
`alias`
строится индекс. Чё ему ещё надо-то?
P. S. Понятно, что я могу найденное на первом шаге тупо перебрать в цикле, написав какой-нибудь перлоскрипт, однако хочется сделать как-то изящнее.