entity_history.entity_id NOT IN (SELECT id FROM entity)
Но проблема в том, что в каждой таблице entity и entity_history записей около 25 миллионов.
Есть какой-то правильный подход для подобных кейсов?
Быстрее будет создать новую таблицу только с нужными записями а потом удалить старую а мовую переименовать
Я бы создал временную таблицу (не TEMPORARY, а просто еще одну таблицу) и выбрал бы в нее все id которые нужно удалять, а потом бы удалял через JOIN с лимитом по 10к строк
DELETE h FROM entity_history h LEFT JOIN entity e ON h.entity_id = e.id WHERE e.id IS NULL
Обсуждают сегодня