Recherche par rapport aux index secondaires

Cette page décrit les fonctionnalités de recherche et des index secondaires.

Lorsque vous choisissez entre des index de recherche et des index secondaires, gardez à l'esprit que les index de recherche doivent être le choix par défaut pour les cas d'utilisation en texte intégral, et que les index secondaires doivent être l'option par défaut pour tout le reste. Le tableau suivant décrit quand utiliser chaque type d'index.

Caractéristique Index secondaire index de recherche
Ordre de tri L'index est trié en fonction de toutes les colonnes de clé d'index L'index de recherche ne peut être trié que sur deux colonnes INT64 contrôlées par l'utilisateur au maximum
Tableaux Les tableaux ne sont pas acceptés comme clés d'index secondaires. Les index de recherche acceptent l'indexation par tableau. Tous les jetons d'un document sont colocalisés dans la même division. Par conséquent, les transactions qui modifient une ligne n'écrivent que dans une seule partition d'index.
Recherches La recherche par clé d'index n'a besoin d'accéder qu'à une seule répartition. Les requêtes qui utilisent l'index de recherche doivent généralement lire à partir de tous les fractionnements d'une partition donnée. La seule exception concerne la mise en correspondance des formats top-k.
Indexation multicolonne Les index secondaires peuvent inclure plusieurs colonnes de clés. Pour une exécution efficace, les requêtes doivent rechercher les données par préfixe de colonnes de clé d'index. Les index de recherche peuvent indexer plusieurs colonnes. Les requêtes peuvent spécifier des expressions logiques complexes (conjonctions, disjonctions, négations) sur n'importe quel sous-ensemble des colonnes indexées, tout en s'exécutant efficacement.
Intersection d'index Les utilisateurs peuvent réécrire leur requête pour joindre plusieurs index secondaires. L'intersection de plusieurs colonnes indexées est implémentée en tant que jointure en zig-zag locale efficace, suivie d'une union de fusion distribuée (qui combine les résultats de toutes les divisions pertinentes).
Lire des données API de requête ou de lecture SQL Requête SQL

Outre la sémantique, la syntaxe de l'instruction LDD pour créer un index de recherche est la suivante : différente de la syntaxe LDD pour créer un index secondaire:

  • Les colonnes indexées sont définies séparément de l'ordre de tri dans le dans l'index de recherche Google.
  • L'ordre des colonnes TOKENLIST dans la clause ON de l'instruction CREATE SEARCH INDEX n'a pas d'importance.

Étape suivante