У меня есть таблица InnoDB claims
, в которой около 240 миллионов строк. Таблица имеет ограничение внешнего ключа: CONSTRAINT FK78744BD7307102A9 FOREIGN KEY (ID) REFERENCES claim_details (ID)
. Я хочу удалить таблицу claim_details
как можно быстрее.
Основываясь на некоторых экспериментах, кажется, что если я использую SET foreign_key_checks = 0;
drop claim_details
и затем снова включаю внешние ключи, mysql продолжит применять ограничение, даже если таблица больше не существует. Итак, я считаю, что я должен снять ограничение со стола.
Я пытался использовать ALTER TABLE claims DROP FOREIGN KEY FK78744BD7307102A9
для удаления ограничения, и запрос находился в состоянии «копировать в таблицу tmp» более 24 часов (на машине без другой загрузки). Я не понимаю, почему удаление ограничения требует создания копии таблицы. Есть ли способ предотвратить это?
mysql версия 5.1.48.