Suchindexe und sekundäre Indexe im Vergleich

Auf dieser Seite werden die Funktionen für die Suche und sekundäre Indexe beschrieben.

Bei der Entscheidung zwischen Suchindexen und sekundären Indexen sollten Sie beachten, dass Suchindexe die Standardauswahl für Full-Text-Anwendungsfälle sein sollten und sekundäre Indexe die Standardoption für alle anderen Fälle. In der folgenden Tabelle wird beschrieben, wann Sie die einzelnen Indextypen verwenden sollten.

Funktion Sekundärer Index Google-Suchindex
Sortierreihenfolge Der Index wird nach allen Indexschlüsselspalten sortiert. Der Suchindex kann nur nach maximal zwei benutzerdefinierten INT64-Spalten sortiert werden.
Arrays Sie können keine Werte des Datentyps „Array“ als Schlüssel in sekundären Indexen verwenden. Suchindexe unterstützen die Array-Indexierung. Alle Tokens eines Dokuments befinden sich in derselben Spaltung. Transaktionen, die eine Zeile ändern, werden daher nur in einen Index-Split geschrieben.
JSON/JSONB Sie können keine JSON-Werte als Schlüssel in sekundären Indexen verwenden. Suchindexe unterstützen die Indexierung von JSON-Werten.
Suchanfragen Bei der Suche nach Indexschlüssel muss nur auf eine Teilung zugegriffen werden. Bei Abfragen, die den Suchindex verwenden, müssen in der Regel alle Teilungen einer bestimmten Partition gelesen werden. Die einzige Ausnahme ist das Top-K-Musterabgleich.
Mehrspaltenindexierung Sekundäre Indexe können mehrere Schlüsselspalten enthalten. Für eine effiziente Ausführung müssen Abfragen Daten nach dem Präfix der Indexschlüsselspalten suchen. Suchindexe können mehrere Spalten indexieren. In Abfragen können komplexe logische Ausdrücke (Konjunktionen, Disjunktionen, Negationen) für beliebige Teilmengen der indexierten Spalten angegeben werden und trotzdem effizient ausgeführt werden.
Indexschnittmenge Nutzer können ihre Abfrage neu schreiben, um mehrere sekundäre Indexe zusammenzuführen. Die Schnittmenge mehrerer indexierter Spalten wird als effizienter lokaler Zig-Zag-Join implementiert, gefolgt von einer verteilten Merge-Union, die Ergebnisse aus allen relevanten Teilungen kombiniert.
Daten lesen SQL-Abfrage- oder Lese-API SQL-Abfrage

Neben der Semantik unterscheidet sich die Syntax der DDL-Anweisung zum Erstellen eines Suchindex von der DDL-Syntax zum Erstellen eines sekundären Index:

  • Indexierte Spalten werden im Suchindex unabhängig von der Sortierreihenfolge definiert.
  • Die Reihenfolge der TOKENLIST-Spalten in der ON-Klausel der CREATE SEARCH INDEX-Anweisung ist unerheblich.

Nächste Schritte