全部产品
Search
文档中心

PolarDB:Penggunaan

更新时间:Jul 06, 2025

PolarDB for MySQL menyediakan fitur Jejak SQL untuk melacak informasi eksekusi pernyataan SQL, termasuk rencana eksekusi dan statistik seperti jumlah baris yang dipindai serta waktu eksekusi. Fitur ini membantu mendeteksi perubahan kinerja database akibat perubahan dalam rencana eksekusi pernyataan SQL dan mengumpulkan statistik pada pernyataan SQL teratas yang memakan memori di kluster saat ini.

Prasyarat

Kluster PolarDB Anda harus menggunakan salah satu versi berikut:

  • PolarDB for MySQL 8.0.1 dengan versi revisi 8.0.1.1.30 atau lebih baru.

  • PolarDB for MySQL 8.0.2 dengan versi revisi 8.0.2.2.12 atau lebih baru.

Untuk mengetahui cara melihat versi kluster Anda, lihat Kueri versi mesin.

Batasan

Fitur Jejak SQL tidak melacak operasi terkait akun, seperti CREATE USER, DROP USER, dan GRANT.

Parameter

Parameter

Deskripsi

loose_sql_trace_type

Jenis tugas jejak yang ingin Anda gunakan fitur Jejak SQL untuk melacak. Nilai valid:

  • OFF (default): Tidak ada pernyataan SQL yang dilacak.

  • DEMAND: Pernyataan SQL tertentu dilacak.

  • ALL: Semua pernyataan SQL dilacak.

  • SLOW_QUERY: Kueri lambat dilacak.

Catatan

SLOW_QUERY hanya didukung untuk kluster yang menjalankan PolarDB for MySQL 8.0.1 dengan versi revisi 8.0.1.1.34 atau lebih baru.

loose_sql_sharing_size

Ukuran memori maksimum untuk SQL Sharing (komponen dasar dalam Jejak SQL).

Nilai valid: 8388608 hingga 1073741824. Unit: byte. Nilai default: 134217728.

loose_sql_trace_plan_expire_time

Waktu kedaluwarsa dari rencana eksekusi yang dilacak oleh fitur Jejak SQL. Jika pernyataan SQL yang sedang dieksekusi menghasilkan rencana eksekusi, tetapi pernyataan SQL berikutnya tidak dieksekusi berdasarkan rencana eksekusi dalam periode waktu yang ditentukan, rencana eksekusi dianggap kedaluwarsa dan dihapus.

Nilai valid: 0 hingga 18446744073709551615. Unit: detik. Nilai default: 604800.

Penggunaan

  • Tambahkan pernyataan SQL yang akan dilacak.

    Gunakan salah satu metode berikut untuk menambahkan pernyataan SQL yang ingin dilacak dan gunakan fitur Jejak SQL untuk melacak eksekusinya:

    • Atur parameter loose_sql_trace_type ke ALL untuk melacak semua pernyataan SQL.

    • Atur parameter loose_sql_trace_type ke DEMAND dan tambahkan pernyataan SQL yang ingin dilacak menggunakan prosedur tersimpan dbms_sql.add_trace.

  • Peroleh informasi tentang pernyataan SQL yang dilacak oleh fitur Jejak SQL.

    Akses tabel information_schema.sql_sharing untuk melihat informasi eksekusi pernyataan SQL dan pernyataan SQL teratas yang dilacak. Contoh sintaks:

    • Peroleh informasi eksekusi dan rencana eksekusi dari pernyataan SQL tertentu.

      SELECT * FROM information_schema.sql_sharing WHERE sql_id = polar_sql_id('select * from t');
    • Peroleh 10 pernyataan SQL teratas berdasarkan total waktu eksekusi, rata-rata waktu eksekusi, dan total jumlah baris yang dipindai.

      SELECT * FROM information_schema.sql_sharing WHERE TYPE='sql' ORDER BY SUM_EXEC_TIME DESC LIMIT 10;
      SELECT * FROM information_schema.sql_sharing WHERE TYPE='sql' ORDER BY SUM_EXEC_TIME/EXECUTIONS DESC LIMIT 10;
      SELECT * FROM information_schema.sql_sharing WHERE TYPE='sql' ORDER BY SUM_ROWS_EXAMINED DESC LIMIT 10;

Operasi lainnya

Pengujian kinerja

Fitur Jejak SQL menggunakan desain tanpa kunci secara luas untuk memastikan kinerja database dalam skenario dengan konkurensi tinggi dan sejumlah besar template SQL.

Pengujian berikut membandingkan kinerja database dalam kluster ketika parameter sql_trace_type diatur ke OFF dan ALL dalam skenario yang sama.

Dalam pengujian Sysbench, digunakan 2.000 tabel, masing-masing berisi 10.000 baris data. Pengujian dilakukan pada kluster dengan 4 core dan 8 GB memori serta kluster dengan 8 core dan 32 GB memori.

  • Gambar berikut menunjukkan perbandingan kinerja untuk kluster dengan 4 core dan 8 GB memori dalam skenario yang berbeda.

    • db-ps-mode=disable oltp_read_onlyimage

    • db-ps-mode=auto oltp_read_writeimage

  • Gambar berikut menunjukkan perbandingan kinerja untuk kluster dengan 8 core dan 32 GB memori dalam skenario yang berbeda.

    • db-ps-mode=disable oltp_read_onlyimage

    • db-ps-mode=auto oltp_read_writeimage

Kesimpulan

Data pengujian menunjukkan bahwa fitur Jejak SQL menurunkan kinerja database kurang dari 3% dalam skenario oltp_read_only dan oltp_read_write.