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

PolarDB:dbms_sql.delete_trace

最終更新日:Mar 29, 2026

loose_sql_trace_typeDEMAND に設定されている場合、dbms_sql.delete_trace は SQL トレースの追跡対象から SQL ステートメントを削除します。

構文

dbms_sql.delete_trace('<schema>', '<query>')

パラメーター

パラメーター説明
schemaスキーマの名前。
query実行される SQL ステートメント。

仕組み

dbms_sql.delete_trace を呼び出すと、次の操作が実行されます。

  1. SQL ステートメント内のリテラル定数をワイルドカード (?) に変換し、SQL テンプレートを生成します。

  2. mysql.sql_sharing テーブルから、そのテンプレートに一致するすべての行を削除します。

  3. そのテンプレートに一致する今後の SQL ステートメントが SQL トレースによって記録されないようにします。

注意事項

プライマリノードと読み取り専用ノード

このストアドプロシージャは、実行されるノードによって動作が異なります。

  • プライマリノード: 削除は永続的です。一致する行はプライマリノード上の mysql.sql_sharing から削除され、その変更はすべての読み取り専用ノードに同期されます。

  • 読み取り専用ノード:削除は実行されたノードにのみ適用され、永続化されません。クラスターエンドポイント経由でデータベースにアクセスすると、テンプレート化された SQL ステートメントは自動的にプライマリノードにルーティングされます。

SQL トレースの追跡対象から SQL ステートメントを削除します。

CALL dbms_sql.delete_trace('test', 'select * from t where c1 > 1 and c1 < 10');

呼び出しが成功した場合、出力は返されません。

このストアドプロシージャは、ステートメントから次のテンプレートを作成し、mysql.sql_sharing から一致するすべての行を削除します。

SELECT * FROM `t` WHERE `c1` > ? AND `c1` < ?