Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Manajemen rencana kueri Aurora Postgre SQL

Mode fokus
Manajemen rencana kueri Aurora Postgre SQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Dengan manajemen rencana kueri diaktifkan untuk cluster SQL DB Aurora Postgre Anda, pengoptimal menghasilkan dan menyimpan rencana eksekusi kueri untuk SQL pernyataan apa pun yang diproses lebih dari sekali. Pengoptimisasi selalu mengatur status rencana yang pertama kali dibuat dari suatu pernyataan terkelola ke Approved, dan menyimpannya di tampilan dba_plans.

Rangkaian rencana yang disetujui yang disimpan untuk suatu pernyataan terkelola disebut sebagai acuan dasar rencana. Saat aplikasi berjalan, pengoptimisasi dapat membuat rencana tambahan untuk pernyataan terkelola. Pengoptimisasi mengatur rencana tambahan yang diambil ke status Unapproved.

Kemudian, Anda dapat memutuskan apakah rencana Unapproved berjalan dengan baik dan mengubahnya menjadi Approved, Rejected, atau Preferred. Untuk melakukannya, Anda menggunakan fungsi apg_plan_mgmt.evolve_plan_baselines atau fungsi apg_plan_mgmt.set_plan_status.

Ketika pengoptimal menghasilkan rencana untuk SQL pernyataan, manajemen rencana kueri menyimpan rencana dalam apg_plan_mgmt.plans tabel. Pengguna basis data yang telah diberi peran apg_plan_mgmt dapat melihat detail rencana dengan mengueri tampilan apg_plan_mgmt.dba_plans. Misalnya, kueri berikut mencantumkan detail untuk rencana yang saat ini dalam tampilan untuk klaster DB Aurora SQL Postgre non-produksi.

  • sql_hash— Pengidentifikasi untuk SQL pernyataan yang merupakan nilai hash untuk teks pernyataan yang dinormalisasi. SQL

  • plan_hash – Pengidentifikasi unik untuk rencana yang merupakan kombinasi dari sql_hash dan hash rencana.

  • status – Status rencana. Pengoptimisasi dapat menjalankan rencana yang disetujui.

  • enabled – Menunjukkan apakah rencana siap digunakan (true) atau tidak (false).

  • plan_outline – Representasi rencana yang digunakan untuk membuat ulang rencana eksekusi sebenarnya. Operator dalam peta struktur pohon ke operator dalam EXPLAIN output.

Tampilan apg_plan_mgmt.dba_plans memiliki lebih banyak kolom yang berisi semua detail rencana, misalnya, waktu rencana terakhir digunakan. Untuk detail lengkap, lihat Referensi untuk tampilan apg_plan_mgmt.dba_plans untuk Aurora Postgre -Compatible Edition SQL.

Normalisasi dan hash SQL

Dalam apg_plan_mgmt.dba_plans tampilan, Anda dapat mengidentifikasi pernyataan terkelola dengan nilai SQL hash. SQLHash dihitung berdasarkan representasi SQL pernyataan yang dinormalisasi yang menghilangkan beberapa perbedaan, seperti nilai literal.

Proses normalisasi untuk setiap SQL pernyataan mempertahankan ruang dan kasus, sehingga Anda masih dapat membaca dan memahami inti pernyataan tersebut. SQL Normalisasi akan menghapus atau mengganti item berikut.

  • Komentar blok di depan

  • Kata EXPLAIN kunci dan EXPLAIN opsi, dan EXPLAIN ANALYZE

  • Spasi di belakang

  • Semua literal

Sebagai contoh, amati pernyataan berikut.

/*Leading comment*/ EXPLAIN SELECT /* Query 1 */ * FROM t WHERE x > 7 AND y = 1;

Manajemen rencana kueri menormalkan pernyataan ini seperti yang ditunjukkan:

SELECT /* Query 1 */ * FROM t WHERE x > CONST AND y = CONST;

Normalisasi memungkinkan SQL hash yang sama digunakan untuk SQL pernyataan serupa yang mungkin hanya berbeda dalam nilai literal atau parameternya. Dengan kata lain, beberapa rencana untuk SQL hash yang sama dapat ada, dengan rencana berbeda yang optimal dalam kondisi yang berbeda.

catatan

SQLPernyataan tunggal yang digunakan dengan skema berbeda memiliki rencana yang berbeda karena terikat pada skema tertentu saat runtime. Perencana menggunakan statistik untuk pengikatan skema untuk memilih rencana yang optimal.

Untuk mempelajari selengkapnya tentang cara pengoptimisasi memilih rencana, lihat Menggunakan rencana terkelola Aurora PostgreSQL. Di bagian tersebut, Anda dapat mempelajari cara menggunakan EXPLAIN dan EXPLAIN ANALYZE untuk melihat pratinjau rencana sebelum benar-benar digunakan. Untuk detailnya, lihat Menganalisis rencana yang dipilih pengoptimisasi. Untuk gambar yang menguraikan proses untuk memilih rencana, lihat Bagaimana cara pengoptimisasi memilih rencana yang akan dijalankan.

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.