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