すべてのプロダクト
Search
ドキュメントセンター

PolarDB:dbms_sql.add_trace

最終更新日:May 30, 2024

loose_sql_trace_typeパラメーターがDEMANDに設定されている場合、dbms_sql.add_traceストアドプロシージャを使用して、SQLトレース機能で追跡する必要のあるSQL文を指定できます。

構文

dbms_sql.add_trace('<schema>', '<query>')
説明

ストアドプロシージャが実行されると、実行中のSQL文の定数が自動的にテンプレート化され、テンプレートが形成されます。 テンプレートに一致するSQL文は、SQLトレース機能によって追跡されます。

Parameters

パラメーター

説明

schema

スキーマの名前。

query

実行中のSQLステートメント。

注意事項

  • ストアドプロシージャがプライマリノードで実行されると、ストアドプロシージャの実行はプライマリノードに永続的に保存され、mysql.sql_sharingテーブルの関連する実行レコードは削除され、読み取り専用ノードに同期されます。

  • ストアドプロシージャが読み取り専用ノードで実行される場合、ストアドプロシージャの実行はノードに永続的に格納されません。 ストアドプロシージャはノードでのみ実行できます。 クラスターエンドポイントを使用してデータベースにアクセスすると、テンプレート化されたSQL文は自動的にプライマリノードにルーティングされます。

次のステートメントを実行して、SQLトレース機能で追跡する必要のあるSQLステートメントを指定できます。

dbms_sql.add_trace('test', 'select * from t where c1 > 1 and c1 < 10 ') を呼び出します。

次のステートメントを実行して、mysql. SQL_sharingシステムテーブル内の追跡されたsqlステートメントの実行レコードを照会できます。

select * from mysql.sql_sharing\G

次の出力が返されます。

*************************** 1。 行 ***************************
         Id: (id番号)
     Sql_id: 82t4dswtqjg02
Schema_name: テスト
       タイプ: SQL_TRACE
Digest_text: SELECT * FROM 't' WHERE 'c1' > ? そして 'c1' < ?
    Plan_id: NULL
       プラン: NULL
    バージョン: 0
Create_time: 2022-11-07 19:05:27.980605
Update_time: 2022-11-07 19:05:27.980605
 Extra_info: NULL 

上記の出力は、追跡されるSQL文の定数が自動的にテンプレート化され、テンプレートを形成することを示しています。

テンプレートに一致する次のSQL文を実行できます。

select * from t (c1 > 1およびc1 < 10);
* をtから選択します。c1 > 1およびc1 < 100; 

次の文を実行して、追跡されたSQL文のトレース情報と、information_schema.sql_sharingシステムテーブルのSQL文の実行計画に関する統計を照会できます。

information_schema.sql_sharing\Gから * を選択

次の出力が返されます。

*************************** 1。 行 ***************************
              タイプ: SQL
            SQL_ID: 82t4dswtqjg02
       SCHEMA_NAME: テスト
       DIGEST_TEXT: SELECT * FROM 't' WHERE 'c1' > ? そして 'c1' < ?
           PLAN_ID: NULL
              プラン: NULL
        PLAN_EXTRA: NULL
        ERROR_CODE: NULL
            REF_BY: SQL_TRACE (需要)
   FIRST_LOAD_TIME: 2022-11-07 19:05:28
     LAST_HIT_TIME: 2022-11-07 19:17:24
        実行: 2
     SUM_WAIT_TIME: 363
     MIN_WAIT_TIME: 179
     MAX_WAIT_TIME: 184
     SUM_EXEC_TIME: 925
     MIN_EXEC_TIME: 438
     MAX_EXEC_TIME: 487
     SUM_ROWS_SENT: 106
     MIN_ROWS_SENT: 8
     MAX_ROWS_SENT: 98
 SUM_ROWS_EXAMINED: 108
 MIN_ROWS_EXAMINED: 8
 MAX_ROWS_EXAMINED: 100
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 122
  MIN_LOGICAL_READ: 19
  MAX_LOGICAL_READ: 103
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             追加: {TRACE_ROW_ID:10}
*************************** 2. 行 ***************************
              タイプ: 計画
            SQL_ID: 82t4dswtqjg02
       SCHEMA_NAME: テスト
       DIGEST_TEXT: NULL
           プランID: 5a4cvp4gjqgfj
              プラン: /* + NO_INDEX('t' @ 'select#1 ') * /
        PLAN_EXTRA: {'t' @ 'select#1 ':ALL}
        ERROR_CODE: 0
            REF_BY: SQL_TRACE (需要)
   FIRST_LOAD_TIME: 2022-11-07 19:17:24
     LAST_HIT_TIME: 2022-11-07 19:17:24
        実行: 1
     SUM_WAIT_TIME: 184
     MIN_WAIT_TIME: 184
     MAX_WAIT_TIME: 184
     SUM_EXEC_TIME: 487
     MIN_EXEC_TIME: 487
     MAX_EXEC_TIME: 487
     SUM_ROWS_SENT: 98
     MIN_ROWS_SENT: 98
     MAX_ROWS_SENT: 98
 SUM_ROWS_EXAMINED: 100
 MIN_ROWS_EXAMINED: 100
 MAX_ROWS_EXAMINED: 100
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 103
  MIN_LOGICAL_READ: 103
  MAX_LOGICAL_READ: 103
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL
3. 行 ***************************
              タイプ: 計画
            SQL_ID: 82t4dswtqjg02
       SCHEMA_NAME: テスト
       DIGEST_TEXT: NULL
           プランID: 463zszw4mbv3w
              プラン: /* + INDEX('t' @ 'select#1' 'i_c1') * /
        PLAN_EXTRA: {'t' @ 'select#1 ':range}
        ERROR_CODE: 0
            REF_BY: SQL_TRACE (需要)
   FIRST_LOAD_TIME: 2022-11-07 19:17:21
     LAST_HIT_TIME: 2022-11-07 19:17:21
        実行: 1
     SUM_WAIT_TIME: 179
     MIN_WAIT_TIME: 179
     MAX_WAIT_TIME: 179
     SUM_EXEC_TIME: 438
     MIN_EXEC_TIME: 438
     MAX_EXEC_TIME: 438
     SUM_ROWS_SENT: 8
     MIN_ROWS_SENT: 8
     MAX_ROWS_SENT: 8
 SUM_ROWS_EXAMINED: 8
 MIN_ROWS_EXAMINED: 8
 MAX_ROWS_EXAMINED: 8
 SUM_ROWS_AFFECTED: 0
 MIN_ROWS_AFFECTED: 0
 MAX_ROWS_AFFECTED: 0
  SUM_LOGICAL_READ: 19
  MIN_LOGICAL_READ: 19
  MAX_LOGICAL_READ: 19
 SUM_PHY_SYNC_READ: 0
 MIN_PHY_SYNC_READ: 0
 MAX_PHY_SYNC_READ: 0
SUM_PHY_ASYNC_READ: 0
MIN_PHY_ASYNC_READ: 0
MAX_PHY_ASYNC_READ: 0
             EXTRA: NULL 

結論

上記の出力は、テンプレートに一致する上記のSQLステートメントが、i_c1インデックス範囲スキャンおよびフルテーブルスキャンの実行プランに対応することを示しています。