AnalyticDB for MySQL menyediakan fitur cache rencana untuk menyimpan cache rencana eksekusi pernyataan SQL. Saat Anda mengeksekusi pernyataan SQL dengan pola yang sama, AnalyticDB for MySQL menggunakan rencana eksekusi yang telah di-cache. Hal ini mengurangi waktu kompilasi dan optimasi SQL serta meningkatkan kinerja kueri sistem. Topik ini menjelaskan cara mengaktifkan fitur cache rencana dan memberikan contoh penggunaannya.
Prasyarat
Versi minor kluster harus 3.1.10.0 atau lebih baru.
Untuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, masuk ke Konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.
Informasi latar belakang
Saat jumlah kueri konkuren tinggi, waktu yang diperlukan untuk kompilasi dan optimasi SQL dapat menjadi bottleneck kinerja sistem. Fitur cache rencana menyimpan cache rencana eksekusi pernyataan SQL. Ketika Anda mengeksekusi pernyataan SQL berikutnya dengan pola yang sama, rencana eksekusi yang telah di-cache digunakan langsung. Hal ini mengurangi waktu kompilasi dan optimasi SQL serta meningkatkan kinerja kueri sistem.
Fitur cache rencana hanya berlaku untuk skenario kueri titik dengan konkurensi tinggi dan tidak disarankan untuk skenario non-kueri titik.
Mengaktifkan atau menonaktifkan fitur cache rencana
Secara default, fitur cache rencana dinonaktifkan. Anda dapat mengeksekusi perintah berikut untuk mengaktifkan atau menonaktifkan fitur tersebut.
Mengaktifkan fitur cache rencana:
SET ADB_CONFIG O_SPC_SCOPE=POINT_QUERY;Menonaktifkan fitur cache rencana:
SET ADB_CONFIG O_SPC_SCOPE=NONE;
Contoh
Asumsikan Anda memiliki permintaan kueri titik konkurensi tinggi berikut:
SELECT * FROM tbl0 WHERE col0 = ?;Mengaktifkan fitur cache rencana:
SET ADB_CONFIG O_SPC_SCOPE=POINT_QUERY;Eksekusi pernyataan kueri SQL. Rencana eksekusi untuk pernyataan ini kemudian di-cache.
SELECT * FROM tbl0 WHERE col0 = 666;Saat Anda mengeksekusi pernyataan dengan pola SQL yang sama, rencana eksekusi yang di-cache pada langkah sebelumnya digunakan secara otomatis. Hal ini mengurangi waktu kompilasi dan optimasi SQL.
SELECT * FROM tbl0 WHERE col0 = 777;