MySQLの実行計画を確認する方法は何ですか?
MySQLの実行計画を確認するには、EXPLAINキーワードを使用することができます。SQL文を実行する前に、その文をEXPLAINキーワードの前に置いて実行します。例:
table_nameから全てのデータを選択して説明してください。
この操作は、MySQLがクエリをどのように実行するかを示し、クエリオプティマイザが使用するインデックスや操作に関する情報を提供する実行計画を返します。
実行計画の各列の意味は以下の通りです。
- ID: 検索された一意の識別子が表示されます。同じクエリの場合、IDは同じです。
- select_type:検索タイプ、例えばSIMPLE(単純な検索)やSUBQUERY(サブクエリ)。
- テーブル:検索に関連するテーブルの名前を表示します。
- パーティション:クエリに関連するパーティションの情報を表示します。
- 種類:クエリを実行するためのアクセス方法を示し、例えばALL(フルスキャン)、index(インデックス使用)、またはrange(範囲スキャン使用)があります。
- possible_keys:使用できるインデックスを表示します。
- 鍵:実際に使用されているインデックスを表示します。
- key_len:使用されているインデックスの長さを表示します。
- ref: クエリで使用されているインデックスの参照列を表示します。
- 行:クエリスキャンの行数を表示します。
- フィルタリングされた:検索結果とテーブルの総行数との間のフィルタリング率を表示します。
- Extra: 一時テーブルの使用やファイルソートの使用など、追加の実行情報を表示します。
クエリのパフォーマンスを理解し、クエリの最適化を実行計画の分析によって行うことができる。