web-dev-qa-db-ja.com

MySQLでテーブルを削除すると、インデックスも削除されますか?

ドキュメントには明示的に記載されていません( http://dev.mysql.com/doc/refman/6.0/en/drop-table.html )。開発者がテーブルを削除する前にすべてのインデックスを削除していたRailsプロジェクトで、奇妙なデータベースの移行を見たばかりで、それは不要に思えたので、私は尋ねます。

49
Teflon Ted

はい、そうです。

ただし、他のテーブルとの参照整合性を保証するRESTRICTなどの外部キー制約がある場合は、テーブルを削除または切り捨てる前に、それらのキーを削除することをお勧めします。

47
AvatarKava

はい、インデックスを削除します。基になるテーブルがない場合、インデックスを保持する理由はありません。下向きの移行は、上向きの移行と1対1で逆のことをしているのではないかと思います。

3
tvanfosson

不要です。ただし、テーブルが外部キー関係の一部であり、テーブルを削除すると依存関係が壊れる場合は、DROPTABLEが妨げられる可能性があります。

1