MySQL のストレージ エンジンは重要な役割を果たし、データの保存と取得を担当します。その中でも、InnoDB は MySQL のデフォルトのストレージ エンジンであり、トランザクション サポート、行レベルのロックなどの機能を提供し、ほとんどのアプリケーション シナリオに適しています。この記事では、MySQL で InnoDB ストレージ エンジンを構成および最適化する方法を紹介します。
- InnoDB ストレージ エンジンを構成する
1.1. デフォルトのストレージ エンジンが InnoDB であることを確認する
MySQL 設定ファイル (通常は my.cnf または my.ini) でdefault-storage-engine
パラメータを見つけ、その値が「InnoDB」であることを確認します。このパラメータが設定されていない場合は、次の行を追加します。
default-storage-engine = InnoDB
1.2. InnoDB バッファ プール サイズの設定
InnoDB バッファ プールは、データとインデックスのキャッシュに使用されるメモリ領域であり、そのサイズはパフォーマンスに大きな影響を与えます。innodb_buffer_pool_size
サーバーの利用可能なメモリとデータベースのサイズに基づいてパラメータ値を調整します。一般に、使用可能なメモリの 70 ~ 80% に設定することをお勧めします。
innodb_buffer_pool_size = 2G
1.3. ログ ファイル サイズの設定
InnoDB ストレージ エンジンはログ ファイルを使用してデータ変更を記録し、トランザクションとクラッシュ回復をサポートします。innodb_log_file_size
パラメータの値を調整して、ログ ファイルのサイズを構成します。256M~1Gの間で設定することを推奨します。
innodb_log_file_size = 512M
1.4. 同時実行制御の設定
InnoDB ストレージ エンジンは、複数の同時接続とトランザクションをサポートします。次のパラメータを調整して同時実行制御を構成します。
innodb_thread_concurrency = 0
innodb_read_io_th