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


第 8 章 最適化

目次

8.1 最適化の概要
8.2 SQL ステートメントの最適化
8.2.1 SELECT ステートメントの最適化
8.2.2 DML ステートメントの最適化
8.2.3 データベース権限の最適化
8.2.4 INFORMATION_SCHEMA クエリーの最適化
8.2.5 その他の最適化のヒント
8.3 最適化とインデックス
8.3.1 MySQL のインデックスの使用の仕組み
8.3.2 主キーの使用
8.3.3 外部キーの使用
8.3.4 カラムインデックス
8.3.5 マルチカラムインデックス
8.3.6 インデックスの使用の確認
8.3.7 InnoDB および MyISAM インデックス統計コレクション
8.3.8 B ツリーインデックスとハッシュインデックスの比較
8.4 データベース構造の最適化
8.4.1 データサイズの最適化
8.4.2 MySQL データ型の最適化
8.4.3 多数のテーブルの最適化
8.4.4 MySQL が内部一時テーブルを使用する仕組み
8.5 InnoDB テーブルの最適化
8.5.1 InnoDB テーブルのストレージレイアウトの最適化
8.5.2 InnoDB トランザクション管理の最適化
8.5.3 InnoDB ロギングの最適化
8.5.4 InnoDB テーブルの一括データロード
8.5.5 InnoDB クエリーの最適化
8.5.6 InnoDB DDL 操作の最適化
8.5.7 InnoDB ディスク I/O の最適化
8.5.8 InnoDB 構成変数の最適化
8.5.9 多くのテーブルのあるシステムに対する InnoDB の最適化
8.6 MyISAM テーブルの最適化
8.6.1 MyISAM クエリーの最適化
8.6.2 MyISAM テーブルの一括データロード
8.6.3 REPAIR TABLE ステートメントの速度
8.7 MEMORY テーブルの最適化
8.8 クエリー実行プランの理解
8.8.1 EXPLAIN によるクエリーの最適化
8.8.2 EXPLAIN 出力フォーマット
8.8.3 EXPLAIN EXTENDED 出力フォーマット
8.8.4 クエリーパフォーマンスの推定
8.8.5 クエリーオプティマイザの制御
8.9 バッファリングとキャッシュ
8.9.1 InnoDB バッファープール
8.9.2 MyISAM キーキャッシュ
8.9.3 MySQL クエリーキャッシュ
8.9.4 プリペアドステートメントおよびストアドプログラムのキャッシュ
8.10 ロック操作の最適化
8.10.1 内部ロック方法
8.10.2 テーブルロックの問題
8.10.3 同時挿入
8.10.4 メタデータのロック
8.10.5 外部ロック
8.11 MySQL サーバーの最適化
8.11.1 システム要素およびスタートアップパラメータのチューニング
8.11.2 サーバーパラメータのチューニング
8.11.3 ディスク I/O の最適化
8.11.4 メモリーの使用の最適化
8.11.5 ネットワークの使用の最適化
8.11.6 スレッドプールプラグイン
8.12 パフォーマンスの測定 (ベンチマーク)
8.12.1 式と関数の速度の測定
8.12.2 MySQL ベンチマークスイート
8.12.3 独自のベンチマークの使用
8.12.4 performance_schema によるパフォーマンスの測定
8.12.5 スレッド情報の検査

この章では、MySQL のパフォーマンスを最適化する方法について説明し、例を示します。最適化には、いくつかのレベルでの構成、チューニング、およびパフォーマンスの測定が含まれます。業務の役割 (開発者、データベース管理者、または両方の組み合わせ) に応じて、個々の SQL ステートメント、アプリケーション全体、単一のデータベースサーバー、または複数のネットワーク接続されたデータベースサーバーのレベルで最適化できます。プロアクティブにパフォーマンスを事前に計画する場合や、または問題の発生後に、構成やコードの問題のトラブルシューティングを行う場合があります。CPU やメモリーの使用を最適化することで、スケーラビリティーを向上し、データベースを低下させず、より多くの負荷を処理させることもできます。