Я использую следующий запрос для удаления нескольких записей, кроме одного из моей таблицы. Он хорошо работает с маленькими столами, но он застрял, когда я попробовал его с таблицей, содержащей> 130000 записей. Дело в том, что я даже не ошибаюсь. PhpMyAdmin просто застревает и запрос ("загрузка ... желтая линия), в основном принимает навсегдаУдаление нескольких записей из очень большой таблицы (запрос берется навсегда)
Моей структуры таблицы
person_id (AI & PK)
person_name (I want to delete multiple person_name records except one)
запроса
DELETE t2
FROM `person` t1
INNER JOIN `person` t2
ON t1.person_name = t2.person_name
AND t1.person_id < t2.person_id;
UPDATE:. Я не имею указатель на стол человека. Но мои три другие таблицы (person_job & person_image, book_who_wrote_it) содержат внешние ключи из таблицы лиц (person_id)
Нет, я не иметь индекс для таблицы людей. Но мои три другие таблицы (person_job & person_image, book_who_wrote_it) содержат внешние ключи из таблицы person (person_id). – salep
@salep. , , Индекс поможет вашему запросу. –
Из OP очевидно, что он хочет максимального значения 'person_id' (я мог ошибаться - или, может быть, это не имеет значения?) –