CREATEINDEXBefehl in Amazon QLDB - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CREATEINDEXBefehl in Amazon QLDB

Wichtig

Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre.

Verwenden Sie in Amazon den CREATE INDEX BefehlQLDB, um einen Index für ein Dokumentfeld in einer Tabelle zu erstellen.

Informationen zur Steuerung des Zugriffs auf die Ausführung dieses PartiQL-Befehls für bestimmte Tabellen finden Sie unterErste Schritte mit dem Standardberechtigungsmodus in Amazon QLDB.

Wichtig

QLDBbenötigt einen Index, um ein Dokument effizient nachschlagen zu können. Ohne Index QLDB muss beim Lesen von Dokumenten ein vollständiger Tabellenscan durchgeführt werden. Dies kann bei großen Tabellen zu Leistungsproblemen führen, einschließlich Parallelitätskonflikten und Transaktions-Timeouts.

Um Tabellenscans zu vermeiden, müssen Sie Anweisungen mit einer WHERE Prädikatklausel unter Verwendung eines Gleichheitsoperators (=oderIN) für ein indiziertes Feld oder eine Dokument-ID ausführen. Weitere Informationen finden Sie unter Optimierung der Abfrageleistung.

Beachten Sie beim Erstellen von Indizes die folgenden Einschränkungen:

  • Ein Index kann nur für ein einzelnes Feld der obersten Ebene erstellt werden. Zusammengesetzte, verschachtelte, eindeutige und funktionsbasierte Indizes werden nicht unterstützt.

  • Sie können einen Index für alle Ion-Datentypen erstellen, einschließlich und. list struct Sie können die indizierte Suche jedoch nur nach Gleichheit des gesamten Ionen-Werts durchführen, unabhängig vom Ionentyp. Wenn Sie beispielsweise einen list Typ als Index verwenden, können Sie keine indizierte Suche nach einem Element in der Liste durchführen.

  • Die Abfrageleistung wird nur verbessert, wenn Sie ein Gleichheitsprädikat verwenden, WHERE indexedField = 123 z. B. oder. WHERE indexedField IN (456, 789)

    QLDBberücksichtigt Ungleichheiten in Abfrageprädikaten nicht. Aus diesem Grund werden bereichsgefilterte Scans nicht implementiert.

  • Bei Namen indizierter Felder wird zwischen Groß- und Kleinschreibung unterschieden und sie können maximal 128 Zeichen lang sein.

  • Die Indexerstellung in QLDB ist asynchron. Die Zeit, die benötigt wird, um die Erstellung eines Indexes für eine nicht leere Tabelle abzuschließen, hängt von der Tabellengröße ab. Weitere Informationen finden Sie unter Verwalten von Indexen.

Syntax

CREATE INDEX ON table_name (field)

Parameter

table_name

Der Name der Tabelle, in der Sie den Index erstellen möchten. Die Tabelle muss bereits vorhanden sein.

Beim Dateinamen muss die Groß- und Kleinschreibung beachtet werden.

field

Der Name des Dokumentfeldes, für das der Index erstellt werden soll. Das Feld muss ein Attribut der obersten Ebene sein.

Bei Namen indizierter Felder wird zwischen Groß- und Kleinschreibung unterschieden und sie können maximal 128 Zeichen lang sein.

Sie können einen Index für alle Amazon Ion-Datentypen erstellen, einschließlich list undstruct. Sie können die indizierte Suche jedoch nur nach Gleichheit des gesamten Ionen-Werts durchführen, unabhängig vom Ionentyp. Wenn Sie beispielsweise einen list Typ als Index verwenden, können Sie keine indizierte Suche nach einem Element in der Liste durchführen.

Rückgabewert

tableId— Die eindeutige ID der Tabelle, für die Sie den Index erstellt haben.

Beispiele

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

Wird programmgesteuert mit dem Treiber ausgeführt

Informationen zum programmgesteuerten Ausführen dieser Anweisung mithilfe des QLDB Treibers finden Sie in den folgenden Tutorials unter Erste Schritte mit dem Treiber: