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

PolarDB:dbms_sql.delete_trace

最終更新日:May 30, 2024

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

構文

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

ストアドプロシージャが実行されると、実行中のSQL文の定数が自動的にテンプレート化されてテンプレートが形成され、テンプレート化されたSQL文と一致するSQL文はmysql.sql_sharingテーブルから削除され、テンプレートと一致する後続のSQL文はSQLトレース機能によって追跡されません。

Parameters

パラメーター

説明

schema

スキーマの名前。

query

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

注意事項

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

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

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

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

出力が返されない場合、必要なSQL文は削除されます。

このストアドプロシージャの実行後、テーブル内の指定されたステートメントと一致するテンプレート化SQLステートメントは削除されます。 指定されたステートメントを含むテーブルの名前はmysql.sql_sharing. 削除するSQL文がSELECT * FROM 't'WHERE 'c1' > ? そして 'c1' < ?