全部产品
Search
文档中心

PolarDB:dbms_sql.delete_trace

更新时间:Jul 03, 2025

Jika parameter loose_sql_trace_type diatur ke DEMAND, Anda dapat menggunakan prosedur tersimpan dbms_sql.delete_trace untuk menghapus pernyataan SQL yang tidak perlu dilacak oleh fitur Jejak SQL.

Sintaksis

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

Setelah prosedur tersimpan dijalankan, konstanta dalam pernyataan SQL yang sedang dieksekusi secara otomatis dibuat menjadi templat dan membentuk sebuah templat. Pernyataan SQL yang sesuai dengan templat tersebut akan dihapus dari tabel mysql.sql_sharing, dan pernyataan SQL berikutnya yang sesuai dengan templat tersebut tidak dilacak oleh fitur Jejak SQL.

Parameter

Parameter

Deskripsi

schema

Nama skema.

query

Pernyataan SQL yang sedang dieksekusi.

Peringatan

  • Ketika prosedur tersimpan dijalankan pada node utama, eksekusi prosedur tersimpan disimpan secara permanen pada node utama, dan catatan eksekusi terkait dalam tabel mysql.sql_sharing dihapus dan disinkronkan ke node baca-saja.

  • Ketika prosedur tersimpan dijalankan pada node baca-saja, eksekusi prosedur tersimpan tidak disimpan secara permanen pada node tersebut. Prosedur tersimpan hanya dapat dijalankan pada node tersebut. Saat Anda menggunakan titik akhir kluster untuk mengakses database, pernyataan SQL yang telah dijadikan templat secara otomatis dirutekan ke node utama.

Contoh

Anda dapat mengeksekusi pernyataan berikut untuk menghapus pernyataan SQL yang tidak perlu dilacak oleh fitur Jejak SQL:

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

Jika tidak ada keluaran yang dikembalikan, pernyataan SQL yang diminta telah dihapus.

Setelah prosedur tersimpan ini dijalankan, pernyataan SQL yang telah dijadikan templat yang sesuai dengan pernyataan tertentu dalam sebuah tabel dihapus. Tabel yang berisi pernyataan tertentu tersebut bernama mysql.sql_sharing. Pernyataan yang cocok dengan pernyataan SQL yang akan dihapus adalah SELECT * FROM `t` WHERE `c1` > ? AND `c1` < ?