Halaman ini menjelaskan pemfilteran adaptif di AlloyDB Omni.
Pemfilteran adaptif menganalisis pola kueri dan distribusi data selama eksekusi kueri untuk memilih strategi pemfilteran yang paling efisien secara dinamis, seperti pemfilteran inline atau pra-pemfilteran.
Pengoptimal kueri AlloyDB Omni menggunakan analisis berbasis biaya untuk menentukan apakah pemfilteran inline atau pra-pemfilteran memberikan performa terbaik pada titik tertentu selama eksekusi kueri.
Pengoptimalan tersebut bermanfaat untuk penelusuran vektor yang difilter AlloyDB Omni, dengan pemfilteran adaptif yang secara otomatis beralih antara penggunaan indeks vektor dan metadata untuk memastikan hasil yang efisien dan akurat tanpa intervensi manual Anda.
Mengaktifkan pemfilteran adaptif
Untuk mengaktifkan pemfilteran adaptif, gunakan flag scann.enable_preview_features
.
Saat pemfilteran adaptif memicu peralihan dari pemfilteran inline ke pra-pemfilteran selama eksekusi, rencana kueri akan berubah secara dinamis.
Misalnya, rencana dapat menampilkan Bitmap assisted pre-filtering
di kolom Execution Strategy saat pengoptimal menentukan bahwa pra-pemfilteran lebih efisien pada titik tersebut dalam kueri. Perubahan dinamis ini terjadi saat sistem beradaptasi dengan data aktual yang ditemukan selama eksekusi kueri.
Limit (actual rows=10 loops=1)
-> Custom Scan (vector scan) on t1 (actual rows=10 loops=1)
Execution Strategy: Bitmap assisted pre-filtering
Order By: (vec_col <=> '[...]'::vector)
Limit: 10
Num Requalifications: 0
Num filtered: 1000
-> Bitmap Index Scan on btree_idx (actual rows=10000 loops=1)
Index Cond: (int_col <= 100000000)