Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Comando CREATE INDEX en Amazon QLDB
En Amazon QLDB, utilice elCREATE INDEX
comando para crear un índice para un campo de documento de una tabla.
Para obtener información sobre cómo controlar el acceso para ejecutar este comando de PartiQL en tablas específicas, consulteIntroducción al modo de permisos estándar en Amazon QLDB.
QLDB requiere un índice para buscar un documento de manera eficiente. Sin un índice, QLDB necesita realizar un escaneo completo de la tabla al leer documentos. Esto puede provocar problemas de rendimiento en tablas grandes, incluidos conflictos de concurrencia y tiempos de espera de las transacciones.
Para evitar el escaneo de tablas, debe ejecutar sentencias con una cláusula deWHERE
predicado mediante un operador de igualdad (=
oIN
) en un campo indexado o en un identificador de documento. Para obtener más información, consulte Optimizar el rendimiento de las consultas.
Tenga en cuenta las siguientes restricciones al crear índices:
-
Solo se puede crear un índice en un único campo de nivel superior. No se admiten los índices compuestos, anidados, únicos ni basados en funciones.
-
Puede crear un índice en cualquier tipo de datos de iones, incluidos
list
ystruct
. Sin embargo, solo puede realizar la búsqueda indexada por la igualdad del valor total del ion, independientemente del tipo de ion. Por ejemplo, al utilizar unlist
tipo como índice, no puede realizar una búsqueda indexada por un elemento de la lista. -
El rendimiento de las consultas solo mejora cuando se utiliza un predicado de igualdad; por ejemplo,
WHERE indexedField = 123
oWHERE indexedField IN (456, 789)
.QLDB no respeta las desigualdades en los predicados de las consultas. Como resultado, no se implementan los escaneos filtrados por rango.
-
Los nombres de los campos indizados distinguen entre mayúsculas y minúsculas y debe tener 128 caracteres como máximo.
-
La creación de índices en QLDB es asincrónica. La cantidad de tiempo que tarda en crearse un índice en una tabla que no esté vacía varía según el tamaño de la tabla. Para obtener más información, consulte Administración de índices.
Temas
Sintaxis
CREATE INDEX ON
table_name
(field
)
Parámetros
table_name
-
El nombre de la tabla en la que desea crear el índice. La tabla debe existir previamente.
El nombre de la tabla distingue entre mayúsculas y minúsculas.
campo
-
El nombre del campo del documento para el que se va a crear el índice. El campo debe ser un atributo de nivel superior.
Los nombres de los campos indizados distinguen entre mayúsculas y minúsculas y debe tener 128 caracteres como máximo.
Puede crear un índice en cualquier tipo de datos de Amazon Ion, incluidos
list
ystruct
. Sin embargo, solo puede realizar la búsqueda indexada por la igualdad del valor total del ion, independientemente del tipo de ion. Por ejemplo, al utilizar unlist
tipo como índice, no puede realizar una búsqueda indexada por un elemento de la lista.
Valor devuelto
tableId
— El identificador único de la tabla en la que ha creado el índice.
Ejemplos
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
CREATE INDEX ON Vehicle (VIN)
Ejecución mediante programación mediante el controlador
Para aprender a ejecutar esta sentencia mediante programación con el controlador QLDB, consulte los siguientes tutoriales en Introducción al controlador: