Commande CREATE INDEX dans Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commande CREATE INDEX dans Amazon QLDB

Dans Amazon QLDB, utilisez laCREATE INDEX commande pour créer un index pour un champ de document dans une table.

Pour savoir comment contrôler l'accès afin d'exécuter cette commande PartiQL sur des tables spécifiques, consultezCommencer à utiliser le mode d'autorisation standard dans Amazon QLDB.

Important

QLDB a besoin d'un index pour rechercher efficacement un document. Sans index, QLDB doit effectuer une analyse complète de la table lors de la lecture de documents. Cela peut entraîner des problèmes de performances sur des tables de grande taille, notamment des conflits de simultanéité et des délais de transaction.

Pour éviter de scanner des tables, vous devez exécuter des instructions avec une clause deWHERE prédicat à l'aide d'un opérateur d'égalité (=ouIN) sur un champ indexé ou un identifiant de document. Pour plus d'informations, veuillez consulter Optimisation des performances des données.

Tenez compte des contraintes suivantes lors de la création d'index :

  • Un index ne peut être créé que sur un seul champ de niveau supérieur. Les index composites, imbriqués, uniques et basés sur des fonctions ne sont pas pris en charge.

  • Vous pouvez créer un index sur tous les types de données Ion, y comprislist etstruct. Toutefois, vous ne pouvez effectuer la recherche indexée que par égalité de la valeur totale des ions, quel que soit le type d'ion. Par exemple, lorsque vous utilisez unlist type comme index, vous ne pouvez pas effectuer de recherche indexée par un élément de la liste.

  • Les performances des requêtes ne sont améliorées que lorsque vous utilisez un prédicat d'égalité ; par exemple,WHERE indexedField = 123 ouWHERE indexedField IN (456, 789).

    QLDB ne respecte pas les inégalités dans les prédicats de requête. Par conséquent, les analyses filtrées par plage de valeurs ne sont pas mises en œuvre.

  • Les noms des champs indexés sont sensibles à la casse et peuvent contenir un maximum de 128 caractères.

  • La création d'index dans QLDB est asynchrone. Le temps nécessaire à la création d'un index sur une table non vide varie en fonction de la taille de la table. Pour plus d'informations, veuillez consulter Gestion des index.

Syntaxe

CREATE INDEX ON table_name (field)

Paramètres

table_name

Nom de la table dans laquelle vous souhaitez créer l'index. La table doit déjà exister.

Le nom de la table est sensible à la casse.

champ

Nom du champ du document pour lequel créer l'index. Le champ doit être un attribut de niveau supérieur.

Les noms des champs indexés sont sensibles à la casse et peuvent contenir un maximum de 128 caractères.

Vous pouvez créer un index sur tous les types de données Amazon Ion, y comprislist etstruct. Toutefois, vous ne pouvez effectuer la recherche indexée que par égalité de la valeur totale des ions, quel que soit le type d'ion. Par exemple, lorsque vous utilisez unlist type comme index, vous ne pouvez pas effectuer de recherche indexée par un élément de la liste.

Valeur renvoyée

tableId— L'ID unique de la table sur laquelle vous avez créé l'index.

Exemples

CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
CREATE INDEX ON Vehicle (VIN)

Exécution par programmation à l'aide du pilote

Pour savoir comment exécuter cette instruction par programmation à l'aide du pilote QLDB, consultez les didacticiels suivants dans la section Prise en main du pilote :