Adaptive Filterung in AlloyDB Omni aktivieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie adaptives Filtern in AlloyDB Omni verwenden. Auf dieser Seite wird beschrieben, wie Sie adaptives Filtern in AlloyDB Omni verwenden.

Beim adaptiven Filtern werden Abfragemuster und Datenverteilungen während der Abfrageausführung analysiert, um dynamisch die effizienteste Filterstrategie auszuwählen, z. B. Inline- oder Vorfilterung.

Der AlloyDB Omni-Abfrageoptimierer verwendet eine kostenbasierte Analyse, um zu ermitteln, ob Inline-Filterung oder Vorfilterung zu einem bestimmten Zeitpunkt während der Abfrageausführung die beste Leistung bietet.

Diese Optimierung ist für die gefilterten Vektorsuchen von AlloyDB Omni von Vorteil, bei denen das adaptive Filtern automatisch zwischen der Verwendung von Vektor- und Metadatenindex wechselt, um effiziente und genaue Ergebnisse ohne manuellen Eingriff zu erzielen.

Adaptives Filtern aktivieren

Verwenden Sie das Flag scann.enable_preview_features, um die adaptive Filterung zu aktivieren.

Wenn durch adaptives Filtern während der Ausführung ein Wechsel von Inline-Filtern zu Vorabfiltern ausgelöst wird, ändert sich der Abfrageplan dynamisch.

Im Plan kann beispielsweise Bitmap assisted pre-filtering im Feld Ausführungsstrategie angezeigt werden, wenn das Optimierungsprogramm feststellt, dass Vorabfilterung an dieser Stelle in der Abfrage effizienter ist. Diese dynamische Änderung erfolgt, wenn das System sich an die tatsächlichen Daten anpasst, die während der Ausführung der Abfrage auftreten.

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)

Nächste Schritte