タグ

実行計画に関するi_matsuiのブックマーク (2)

  • 再現性のあるスロークエリーには「SHOW PROFILE」を試してみよう

    MySQLの組み込みプロファイラー SHOW PROFILEステートメントはMySQLサーバー組み込みのプロファイラーから情報を取り出すためのステートメントです。細かいことを言と、これが利用可能かどうかはビルドオプション(cmake -DENABLED_PROFILING=ON)で決まりますが、少なくともOracleが配布しているバイナリーではこのオプションが有効な状態でビルドされているため、ほとんどの環境で利用できるでしょう。 プロファイラーというと小難しく思えますが、「そのクエリーが実行されていた期間、どのStatus(SHOW PROCESSLISTで"State"と表示されているもの)にどのくらいの時間かかったか」を表示してくれるもので、セッション単位でオンラインに有効・無効を切り替えられるため、身構える必要は全くありません。まずはその内容を確認するため、試しに具体的なステートメン

    再現性のあるスロークエリーには「SHOW PROFILE」を試してみよう
  • MySQL EXPLAINのそれぞれの項目についての覚書 - Qiita

    id/select_type/table どのテーブルがどの順番でアクセスされているか id 実行順番を表す 数字が同じなら複数のクエリが1つのクエリとして実行されている select_typeの詳細 SIMPLE 単一のテーブル サブクエリが絡む場合 PRIMARY 外部クエリ SUBQUERY 相関関係の無いサブクエリ DEPENDENT SUBQUERY 相関関係のあるサブクエリ UNCACHEABLE SUBQUERY 実行する度に結果が変わる可能性のあるサブクエリ DERIVED FROM句で用いられているサブクエリ table 対象テーブルの名称 partition どのpartisionテーブルを使用したか 複数にまたがる時は複数の値が表示される type レコードアクセスタイプ typeの詳細 const pk or uniqueインデックスを使用したルックアップによるアク

    MySQL EXPLAINのそれぞれの項目についての覚書 - Qiita
    i_matsui
    i_matsui 2020/07/22
    “等価検索(where k = v)を行った時に使用されるアクセス”
  • 1