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

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL.

Dans Amazon QLDB, utilisez CREATE INDEX la commande pour créer un index pour un champ de document sur une table.

Pour savoir comment contrôler l'accès afin d'exécuter cette commande partiQL sur des tables spécifiques, consultez. Commencer à 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 de grandes tables, notamment des conflits de simultanéité et des délais d'expiration des transactions.

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

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 compris list etstruct. Cependant, vous ne pouvez effectuer la recherche indexée que par égalité de la valeur totale de l'ion, quel que soit le type d'ion. Par exemple, lorsque vous utilisez un list 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 n'honore pas les inégalités dans les prédicats de requête. Par conséquent, les scans filtrés par plage ne sont pas implémentés.

  • Les noms des champs indexés distinguent les majuscules et minuscules et peuvent comporter un maximum de 128 caractères.

  • La création d'index dans QLDB est asynchrone. Le temps nécessaire pour terminer la création d'un index sur une table non vide varie en fonction de la taille de la table. Pour de plus amples 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.

field

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

Les noms des champs indexés distinguent les majuscules et minuscules et peuvent comporter un maximum de 128 caractères.

Vous pouvez créer un index sur tous les types de données Amazon Ion, y compris list etstruct. Cependant, vous ne pouvez effectuer la recherche indexée que par égalité de la valeur totale de l'ion, quel que soit le type d'ion. Par exemple, lorsque vous utilisez un list 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 Getting started with the driver :