このページは機械翻訳したものです。
InnoDB は、高い信頼性と高いパフォーマンスとのバランスをとる汎用のストレージエンジンです。 MySQL 8.0 では、InnoDB がデフォルトの MySQL ストレージエンジンです。 別のデフォルトのストレージエンジンを構成していないかぎり、ENGINE= 句を指定せずに CREATE TABLE ステートメントを発行すると、InnoDB テーブルが作成されます。
InnoDB の主要な利点
その DML 操作は、トランザクションにユーザーデータを保護するためのコミット、ロールバック、およびクラッシュリカバリ機能が備わっている ACID モデルに従っています。 詳しくはセクション15.2「InnoDB および ACID モデル」をご覧ください。
行レベルのロックと Oracle スタイルの一貫性読み取りを使用すると、複数ユーザーの並列性およびパフォーマンスが向上します。 詳しくはセクション15.7「InnoDB のロックおよびトランザクションモデル」をご覧ください。
InnoDBテーブルでは、主キーに基づいてクエリーが最適化されるように、ディスク上のデータが整列されます。 各InnoDBテーブルには、主キー検索用の I/O を最小限に抑えるためにデータを編成する clustered index と呼ばれる主キーインデックスがあります。 詳しくはセクション15.6.2.1「クラスタインデックスとセカンダリインデックス」をご覧ください。データ integrity をメンテナンスするために、
InnoDBではFOREIGN KEY制約がサポートされています。 外部キーでは、挿入、更新および削除がチェックされ、異なるテーブル間で不整合が発生しないことが確認されます。 詳しくはセクション13.1.20.5「FOREIGN KEY の制約」をご覧ください。
表 15.1 「InnoDB ストレージエンジンの機能」
| 機能 | Support |
|---|---|
| B ツリーインデックス | はい |
| MVCC | はい |
| T ツリーインデックス | いいえ |
| インデックスキャッシュ | はい |
| クラスタデータベースのサポート | いいえ |
| クラスタ化されたインデックス | はい |
| ストレージの制限 | 64TB |
| データキャッシュ | はい |
| データディクショナリ向け更新統計 | はい |
| トランザクション | はい |
| ハッシュインデックス | いいえ (InnoDB は、アダプティブハッシュインデックス機能に対して、内部的にハッシュインデックスを利用します。) |
| バックアップ/ポイントインタイムリカバリ (ストレージエンジン内ではなくサーバー内で実装されています。) | はい |
| レプリケーションのサポート (ストレージエンジン内ではなくサーバー内で実装されています。) | はい |
| ロック粒度 | 行 |
| 全文検索インデックス | はい (FULLTEXT インデックスに対する InnoDB サポートは、MySQL 5.6 以降で使用できます。) |
| 圧縮データ | はい |
| 地理空間インデックスのサポート | はい (InnoDB での地理空間インデックス付けのサポートは、MySQL 5.7 以降で使用できます。) |
| 地理空間データ型のサポート | はい |
| 外部キーのサポート | はい |
| 暗号化データ | はい (暗号化機能を介してサーバーに実装されます。MySQL 5.7 以降では、保存データのテーブルスペース暗号化がサポートされます。) |
InnoDB の機能と MySQL で提供されているその他のストレージエンジンを比較する方法については、第16章「代替ストレージエンジン」の「ストレージエンジンの機能」表を参照してください。
InnoDB の拡張機能と新機能
InnoDB の拡張機能および新機能の詳細は、次を参照してください:
セクション1.3「MySQL 8.0 の新機能」 の
InnoDB拡張機能のリスト。
追加の InnoDB 情報およびリソース
InnoDB関連の用語および定義については、MySQL 用語集 を参照してください。InnoDBストレージエンジン専用のフォーラムについては、MySQL Forums::InnoDB を参照してください。InnoDBは、MySQL と同じ GNU GPL ライセンスバージョン 2 (1991 年 6 月) によって発行されています。 MySQL ライセンスの詳細は、http://www.mysql.com/company/legal/licensing/を参照してください。