CREATE INDEX - Amazon Quantum Ledger Database (Amazon QLDB)

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.

CREATE INDEX

UsarCREATE INDEXpara crear un índice para un campo de documento en una tabla del libro mayor de Amazon QLDB.

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.

importante

La QLDB requiere un índice para buscar un documento de manera eficiente. Sin un índice, QLDB necesita hacer un escaneo completo de la tabla al leer los documentos. Esto puede provocar problemas de rendimiento en tablas grandes, incluidos conflictos de simultaneidad y tiempos de espera de transacciones agotados.

Para evitar el análisis de tablas, debe ejecutar instrucciones con unWHEREcláusula de predicado que utiliza unigualdadoperador (=oIN) en un campo indexado o en un ID de documento. Para obtener más información, consulte Optimización del rendimiento de 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 índices compuestos, anidados, únicos ni basados en funciones.

  • Puede crear un índice en cualquierTipos de datos Ion, incluidoslistystruct. Sin embargo, solo puede realizar la búsqueda indexada por la igualdad de todo el valor de Ion, independientemente del tipo de Ion. Por ejemplo, cuando se utiliza unlistescriba como índice, no puede realizar una búsqueda indexada por un elemento dentro de la lista.

  • El rendimiento de las consultas se mejora solo cuando se usa un predicado de igualdad; por ejemplo,WHERE indexedField = 123oWHERE indexedField IN (456, 789).

    QLDB no respeta las desigualdades en los predicados de consulta. Como resultado, no se implementan los escaneos con filtro de rango.

  • Los nombres de los campos indexados distinguen entre mayúsculas y minúsculas y deben tener 128 caracteres como máximo.

  • La creación de índices en QLDB es asíncrona. La cantidad de tiempo que tarda en terminar de crear 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.

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 indexados distinguen entre mayúsculas y minúsculas y deben tener 128 caracteres como máximo.

Puede crear un índice en cualquierTipos de datos de Amazon Ion, incluidoslistystruct. Sin embargo, solo puede realizar la búsqueda indexada por la igualdad de todo el valor de Ion, independientemente del tipo de Ion. Por ejemplo, cuando se utiliza unlistescriba como índice, no puede realizar una búsqueda indexada por un elemento dentro de la lista.

Valor devuelto

tableId: el identificador único de la tabla en la que creó el índice.

Ejemplos

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

Ejecución mediante programación mediante el controlador

Para obtener información sobre cómo ejecutar esta instrucción mediante programación mediante el controlador QLDB, consulte los siguientes tutoriales enIntroducción al conductor: