ApsaraDB for SelectDB menggunakan pengoptimal Nereids dan mesin eksekusi Pipeline untuk mengoptimalkan kueri secara otomatis. Untuk memenuhi kebutuhan kinerja kueri yang tinggi, Anda juga dapat melakukan optimalisasi manual melalui metode seperti akselerasi berbasis indeks, kueri titik konkurensi tinggi, tampilan yang di-materialisasi, dan optimasi penggabungan tabel.
Perencanaan optimalisasi kueri otomatis
Di SelectDB, pengoptimal Nereids dan mesin eksekusi Pipeline adalah teknologi inti dalam pemrosesan kueri yang mendukung optimalisasi mendalam selama fase perencanaan dan eksekusi kueri. Teknologi ini meningkatkan kinerja kueri kompleks serta efisiensi penggunaan sumber daya. Gambar berikut menunjukkan cara teknologi ini mengoptimalkan pernyataan SQL di SelectDB.
Tabel berikut menjelaskan fitur utama dari setiap teknologi. Untuk informasi lebih lanjut, lihat dokumentasi terkait.
Teknologi | Deskripsi Fitur |
| |
|
Optimalisasi Kueri Manual
Jika pengoptimal Nereids dan mesin eksekusi Pipeline di SelectDB tidak memenuhi persyaratan kueri Anda, Anda dapat menggunakan statistik untuk menganalisis data kueri dan memilih kebijakan yang sesuai guna mengoptimalkan kinerja.
Kebijakan Optimalisasi | Skenario | Batasan |
Mengoptimalkan kueri titik dengan konkurensi tinggi. Catatan Kueri titik digunakan untuk mengambil sejumlah kecil data dari database berdasarkan kondisi tertentu. Biasanya, kunci utama atau kolom dengan kardinalitas tinggi digunakan untuk operasi ini. |
| |
Mengoptimalkan kueri kompleks yang berulang dan memakan waktu. |
Untuk informasi lebih lanjut, lihat Batasan. | |
Mempercepat proses query atau penempatan data dalam berbagai skenario. | Batasan bervariasi berdasarkan jenis indeks. Untuk informasi lebih lanjut, lihat Akselerasi Berbasis Indeks. | |
Mengoptimalkan kueri penggabungan tabel. | Kondisi penggabungan harus mencakup kolom terdistribusi dari tabel kiri, dan tabel kiri hanya menggunakan data dari satu partisi selama eksekusi. | |
Mengoptimalkan kueri penggabungan tabel. | Kondisi penggabungan harus mencakup kolom terdistribusi dari tabel kiri, dan tabel kiri dan kanan termasuk dalam Colocate Group yang sama. | |
Mengoptimalkan penggabungan tabel besar dengan tabel kecil. | Saat menggunakan Filter Runtime, pernyataan JOIN harus memenuhi persyaratan berikut:
| |
|
| |
|
|