sql >> データベース >  >> RDS >> Mysql

MySQLデータファイルは縮小しません

    削除するデータの量に関係なく、InnoDBテーブルスペースのファイルサイズが自動的に減少することはありません。

    大変な作業ですが、設定してテーブルごとに1つのテーブルスペースを作成することができます

    innodb_file_per_table
    

    これに関する長い部分は、mysqlサーバーからすべてのデータをエクスポートして(新しいサーバーをセットアップする方が簡単です)、データを再インポートする必要があるということです。すべてのテーブルのデータを保持する単一のibdata1ファイルの代わりに、tablename.ibdと呼ばれる多くのファイルがあります。 1つのテーブルのデータのみを保持します。

    その後:

    その後、テーブルから大量のデータを削除する場合、発行することでmysqlにデータファイルを再作成させることができます

    alter table <tablename> engine=myisam;
    

    MyIsamに切り替えて(このテーブルのInnoDBデータファイルを削除して)、

    alter table <tablename> engine=innodb;
    

    テーブルを再作成します。



    1. 初心者向けのSQLCOALESCE関数を使用したNULL値の効果的な処理

    2. MySQL2つの列から個別の値を選択します

    3. アポストロフィ(一重引用符)を含むデータを挿入するときにMySQLエラーが発生しますか?

    4. Laravel 4:カスタムログインとパスワードの確認