Он явно не упоминается в документации (http://dev.mysql.com/doc/refman/6.0/en/drop-table.html). Я спрашиваю, потому что я просто видел любопытную миграцию базы данных в проекте Rails, где разработчик удалял все индексы перед тем, как отбрасывать таблицу, и это казалось ненужным.
Отбрасывает ли таблица в MySQL также индексы?
Ответ 1
Да, это так.
Однако, если у вас есть ограничения внешнего ключа, такие как RESTRICT, которые обеспечивают ссылочную целостность с другими таблицами, вы захотите отбросить эти ключи до удаления или обрезания таблицы.
Ответ 2
Да, это снизит индекс. Там нет оснований держать индекс, если базовая таблица не существует. Я подозреваю, что нисходящая миграция просто противоположна восходящей миграции на основе "один к одному". Может быть примером CDO - OCD, но буквы находятся в правильном порядке.
Ответ 3
Это не важно. Однако ваш DROP TABLE может быть предотвращен, если таблица является частью отношений с внешним ключом, и удаление вашей таблицы приведет к поломке зависимостей.