目次
MySQL 5.5にてテーブル圧縮を行う際の手順
1. my.cnfの設定追加
innodb_file_per_table = 1 innodb_autoextend_increment = 1
2. MySQLを再起動して設定を反映
3. 設定結果の確認
# echo "select @@innodb_version" | mysql -u root --password=[PASSWORD] @@innodb_version 1.1.8
# echo "select @@innodb_file_per_table" | mysql -u root --password=[PASSWORD] @@innodb_file_per_table 1 # echo "select @@innodb_autoextend_increment" | mysql -u root --password=[PASSWORD] @@innodb_autoextend_increment 1
圧縮は以下のSQLにて行う。
ALTER TABLE [テーブル名] ROW_FORMAT=Compressed KEY_BLOCK_SIZE=8;
環境によって異なるが、以下の条件下での測定結果。
| CPU | Xeon E3553 2GHz (1Prc/4Core/8Thread) |
| RAM | 8GB |
| Strage | iSCSIストレージ 2TB LUN |
| OS | Redhat Enterprise Linux 6.1 x86-64 |
| MySQL | 5.5.14-1.el6.remi.x86_64 |
| 圧縮前 | 圧縮後 | 所要時間 |
| 3.6GB | 3.5GB | 12min 16.75sec |
| 100GB | 91GB | 17houre 53min 28.33sec |