mysql отбрасывают внешний ключ без копии таблицы

у меня есть таблица InnoDB, требует , который имеет приблизительно 240 миллионов строк. Таблица имеет ограничение внешнего ключа: ОГРАНИЧЕНИЕ (идентификатор) ссылки FK78744BD7307102A9 FOREIGN KEY claim_details (идентификатор) . Я хочу удалить таблицу claim_details как можно быстрее.

На основе некоторого экспериментирования кажется, что, если я использую , УСТАНАВЛИВАЕТ foreign_key_checks = 0; отбрасывание claim_details и затем повторно включает внешние ключи, mysql продолжит осуществлять ограничение даже при том, что таблица больше не существует. Так, я полагаю, что должен отбросить ограничение от таблицы.

я попытался использовать , DROP FOREIGN KEY FK78744BD7307102A9 требований ALTER TABLE для отбрасывания ограничения и запроса был в состоянии "копии к tmp таблице" больше 24 часов (на машине без другой загрузки). Я не понимаю, почему отбрасывание ограничения требует создания копии таблицы. Там какой-либо путь состоит в том, чтобы предотвратить это?

mysql версия 5.1.48.

5
задан mephillips 3 September 2011 в 16:20
поделиться