Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


14.1 InnoDB 入門

InnoDB は、高い信頼性と高いパフォーマンスとのバランスをとる汎用のストレージエンジンです。MySQL 5.5 の時点では、これがデフォルトの MySQL ストレージエンジンです。MySQL 5.6 では、ENGINE= 句を指定せずに CREATE TABLE ステートメントを発行すると、InnoDB テーブルが作成されます。

InnoDB の主要な利点

InnoDB テーブルの主要な利点は、次のとおりです。

  • その DML 操作は、トランザクションにユーザーデータを保護するためのコミットロールバック、およびクラッシュリカバリ機能が備わっている ACID モデルに従っています。

  • 行レベルのロックと Oracle スタイルの一貫性読み取りを使用すると、複数ユーザーの並列性およびパフォーマンスが向上します。

  • InnoDB テーブルでは、主キーに基づいてクエリーが最適化されるように、ディスク上のデータが整列されます。

  • データの整合性を保つために、InnoDB では FOREIGN KEY 制約もサポートされています。挿入、更新、および削除によってさまざまなテーブル間で不整合が発生しないかを確認するために、これらの操作がすべてチェックされます。

  • 同じステートメント内でも、InnoDB のテーブルと別の MySQL ストレージエンジンのテーブルを混在させることができます。たとえば、結合操作を使用すると、単一のクエリーで InnoDB テーブルと MEMORY テーブルのデータを結合できます。

  • InnoDB は、大きなデータボリュームを処理する際に、高い CPU の効率性と最大のパフォーマンスが実現されるように設計されています。

表 14.1 InnoDB ストレージエンジンの機能

機能 Support
B ツリーインデックス はい
MVCC はい
T ツリーインデックス いいえ
インデックスキャッシュ はい
クエリーキャッシュのサポート はい
クラスタデータベースのサポート いいえ
クラスタ化されたインデックス はい
ストレージの制限 64T バイト
データキャッシュ はい
データディクショナリ向け更新統計 はい
トランザクション はい
ハッシュインデックス いいえ (InnoDB は、アダプティブハッシュインデックス機能に対して、内部的にハッシュインデックスを利用します。)
バックアップ/ポイントインタイムリカバリ (ストレージエンジン内ではなくサーバー内で実装されています。) はい
レプリケーションのサポート (ストレージエンジン内ではなくサーバー内で実装されています。) はい
ロック粒度
全文検索インデックス はい (InnoDB の FULLTEXT インデックスサポートは MySQL 5.6.4 以降で使用できます。)
圧縮データ はい (圧縮された InnoDB テーブルは InnoDB Barracuda ファイルフォーマットを必要とします。)
地理空間インデックスのサポート はい (InnoDB の地理空間インデックスサポートは MySQL 5.7.5 以降で使用できます。)
地理空間データ型のサポート はい
外部キーのサポート はい
暗号化データ (ストレージエンジン内ではなくサーバー内で (暗号化関数を使って) 実装されています。) はい

InnoDB ストレージエンジンには、データとインデックスをメインメモリーにキャッシュするための独自のバッファープールが保持されています。デフォルトでは、innodb_file_per_table 設定が有効になっているため、新しい各 InnoDB テーブルとそれに関連付けられたインデックスが個別のファイルに格納されます。innodb_file_per_table オプションを無効にすると、InnoDB ではそのテーブルとインデックスがすべて単一のシステムテーブルスペースに格納されます。システムテーブルスペースは、複数のファイル (または生のディスクパーティション) で構成されている場合があります。InnoDB テーブルは、ファイルサイズが 2G バイトに制限されているオペレーティングシステム上でも、大量のデータを処理できます。

InnoDB の機能と MySQL で提供されているその他のストレージエンジンを比較する方法については、第15章「代替ストレージエンジン「ストレージエンジンの機能」表を参照してください。

InnoDB の拡張機能と新機能

MySQL 5.6 での InnoDB の拡張機能と新機能については、次を参照してください。

追加のリソース

  • InnoDB 関連の用語および定義については、MySQL 用語集を参照してください。

  • InnoDB ストレージエンジン専用のフォーラムには、MySQL Forums::InnoDB からアクセスできます。

  • InnoDB は、MySQL と同じ GNU GPL ライセンスバージョン 2 (1991 年 6 月) によって発行されています。MySQL ライセンスの詳細は、http://www.mysql.com/company/legal/licensing/を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.