遅いクエリーログの使用

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • 管理者は、遅いクエリログを使用して、クエリーがプラットフォームのパフォーマンスにどのように影響しているかを把握できます。遅いクエリーのログは、類似するクエリーのデータを集計します。遅いクエリーデータを使用して、新しいインデックス、既存のインデックスの変更、または頻繁なクエリーの変更の必要性を評価します。

    始める前に

    必要なロール:管理者

    このタスクについて

    同じテーブルから選択し、where 節で同じフィールドをクエリーする場合、クエリーは類似していますが、フィールドでは異なる値を検索します。たとえば、これらのクエリーは類似のクエリーとして集計されます。

    SELECT * FROM sys_user WHERE name="ITIL User"
    SELECT * FROM sys_user WHERE name="System Administrator"

    類似のクエリーデータを集計することで、管理者は遅いクエリーや頻繁に発生するクエリーのパフォーマンスへの影響を監視できます。このログは、合計実行時間が 5 秒を超える類似のクエリーのデータをレポートします。

    手順

    1. 移動先 すべて > システム診断 > 統計 > 遅いクエリ
    2. 詳細については、クエリーレコードを開いてください。
      表 : 1. クエリーレコードフィールド
      フィールド 説明

      同様のクエリーで集計するために正規化される前の、個々のクエリーに関する SQL ステートメント。

      ハッシュ このレコードのハッシュ値。
      スタックトレース例

      個々のクエリーのスタックトレース。スクリプトコードを参照する行 (カスタムコードとベースシステムコードの両方を含む) は、次の形式で表示されます。

      table name.sys_id:line number

      たとえば、このスタックトレースは、スクリプトインクルードの 119 行目からの関数呼び出しを示しています。

      sys_script_include.105f70abc0a8010300d4d79ed1b93eb0:119

      詳細については、「スタックトレース」を参照してください。

      URL の例

      クエリーの呼び出し方法に応じた個々のクエリーの URL

      • ユーザートランザクション:トランザクションパラメーターが表示されます。たとえば、ユーザーがインシデントリストに移動した場合、URL は /incident_list.do sysparm_query=active=true になります。
      • ジョブスケジュール:ジョブスケジュールの名前が表示されます。
      • その他のメソッド:空のフィールドをリストします。
      最初の発生

      類似のクエリーの最初の発生

      前回の発生 類似のクエリーの前回の発生
      合計実行時間 合計実行時間
      実行数

      集計された類似クエリーの発生回数

      平均実行時間 (ミリ秒)

      これらの類似クエリーを 1 件実行する平均時間。

    3. データを取得するためにデータベースが実行する処理を確認するには、[説明プラン] をクリックします。
      クエリー計画は、[MySQL Explain 計画] 関連リストで報告されます。クエリー計画を使用して、新しいインデックスまたは既存のインデックスの変更の必要性を評価します。詳細については、MySQL Explain 計画のドキュメントを参照してください。

      この機能は、サポートされている他のデータベース (MongoDB や Oracle など) で機能します。

    4. 遅いクエリーのインデックス提案を生成するには、[インデックス提案] をクリックします。
      詳細については、「遅いクエリーのインデックス提案の生成」を参照してください。