MySQL InnoDBファイルフォーマットBarracudaへの設定方法

  • うすき
    うすき システムちーむ
  • このエントリーをはてなブックマークに追加

MySQLのファイル形式

MySQLのファイル形式には2パターンあります。
・Antelope … 古いファイル形式。デフォルトではAntelopeが採用されます。
・Barracuda … 新しいファイル形式。テーブルデータの圧縮をサポートします。

MySQL 5.6 リファレンスマニュアル
可能な場合、新しいテーブルには Barracuda 形式を使用することをお勧めしますが、MySQL 5.5 では、異なる MySQL リリースを含むレプリケーション構成との最大限の互換性のために、デフォルトのファイル形式は引き続き Antelope です。

Antelope/Barracuda ファイルフォーマットの種類

  • Antelope
    ・REDUNDANT …MySQL4.1までのフォーマット
    ・COMPACT …デフォルトだとこれが適用されるようだ。
  • Barracuda
    ・DYNAMIC …データ圧縮を行わないフォーマット
    ・COMPRESSED …データ圧縮を行うフォーマット

ファイルフォーマットは4種類

Antelope⇒ Barracuda COMPRESSED へ切替

環境

MySQL 5.6

my.cnfの設定


innodb_file_per_table = 1
innodb_file_format = Barracuda

innodb_file_per_table がオフの場合は、Barracudaは適用されずに、Antelopeが適用される

データベースとテーブル作成


mysql> CREATE DATABASE blog;
Query OK, 1 row affected (0.00 sec)

blogデータベース作成


mysql> use blog;
Database changed

作成したblogへ切替


mysql> CREATE TABLE `blog`.`users` (
    -> `id` INT(10) UNSIGNED NULL AUTO_INCREMENT ,
    -> `name` VARCHAR(20) NULL ,
    -> `email` VARCHAR(200) NULL ,
    -> PRIMARY KEY (`id`)
    -> ) ENGINE = InnoDB;
Query OK, 0 rows affected (0.02 sec)

usesテーブルを作成

デフォルト状態を確認


mysql> show table status\G
*************************** 1. row ***************************
           Name: users
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: 1
    Create_time: 2016-07-30 12:06:47
    Update_time: NULL
     Check_time: NULL
      Collation: utf8mb4_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

innodb_file_format = Barracuda で設定を行っているが、
ファイルフォーマットは Antelopeである Compactが適用されている。


mysql> ALTER TABLE users ENGINE = InnoDB ROW_FORMAT=COMPRESSED;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

ファイルフォーマットをBarracudaのCOMPRESSEDに変更する。

変更後確認


mysql> show table status\G
*************************** 1. row ***************************
           Name: users
         Engine: InnoDB
        Version: 10
     Row_format: Compressed
           Rows: 0
 Avg_row_length: 0
    Data_length: 8192
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: 1
    Create_time: 2016-07-30 12:16:22
    Update_time: NULL
     Check_time: NULL
      Collation: utf8mb4_general_ci
       Checksum: NULL
 Create_options: row_format=COMPRESSED
        Comment:
1 row in set (0.00 sec)

無事、Row_format: Compressed に切替ができました。
CREATE TABLEでCOMPRESSEDにを指定することも可能です。

このエントリーをはてなブックマークに追加

うすきが最近書いた記事

WRITERS POSTS もっと見る

他にもこんな記事が読まれています!

  • WEB
  • マーケティング
  • サーバー・ネットワーク
  • ライフスタイル
  • お知らせ