

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Comando CREATE INDEX no Amazon QLDB
<a name="ql-reference.create-index"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

No Amazon QLDB, use o comando `CREATE INDEX` para criar um índice para um campo de documento em uma tabela.

Para aprender a controlar o acesso para executar este comando do PartiQL em tabelas específicas, consulte [Introdução ao modo de permissões padrão no Amazon QLDB](getting-started-standard-mode.md).

**Importante**  
O QLDB requer um índice para pesquisar um documento com eficiência. Sem um índice, o QLDB precisa fazer uma verificação da tabela completa ao ler documentos. Isso pode causar problemas de desempenho em tabelas grandes, incluindo conflitos de simultaneidade e tempos limite de transação.  
Para evitar verificações de tabelas, você deve executar instruções com uma cláusula de predicado `WHERE` usando um operador de *igualdade* (`=` ou `IN`) em um campo indexado ou em um ID de documento. Para obter mais informações, consulte [Otimizar a performance da consulta](working.optimize.md).

Observe as seguintes restrições ao criar índices:
+ Um índice só pode ser criado em um único campo de nível superior. Não há suporte para índices compostos, aninhados, exclusivos e baseados em funções.
+ Você pode criar um índice em qualquer [tipo de dados Ion](ql-reference.data-types.md), incluindo `list` e `struct`. No entanto, você só pode fazer a pesquisa indexada pela igualdade de todo o valor de Ion, independentemente do tipo de Ion. Por exemplo, ao usar um tipo `list` como índice, você não pode fazer uma pesquisa indexada por um item dentro da lista.
+ O desempenho da consulta é aprimorado somente quando você usa um predicado de igualdade; por exemplo, `WHERE indexedField = 123` ou `WHERE indexedField IN (456, 789)`.

  O QLDB não respeita as desigualdades nos predicados de consulta. Como resultado, as verificações filtradas por intervalo não são implementadas.
+ Os nomes dos campos indexados diferenciam maiúsculas e minúsculas e podem ter no máximo 128 caracteres.
+ A criação do índice no QLDB é assíncrona. O tempo necessário para concluir a criação de um índice em uma tabela não vazia varia dependendo do tamanho da tabela. Para obter mais informações, consulte [Gerenciamento de Índices](working.manage-indexes.md).

**Topics**
+ [Sintaxe](#ql-reference.create-index.syntax)
+ [Parâmetros](#ql-reference.create-index.parameters)
+ [Valor de retorno](#ql-reference.create-index.return)
+ [Exemplos](#ql-reference.create-index.examples)
+ [Executar programaticamente usando o driver](#ql-reference.create-index.driver)

## Sintaxe
<a name="ql-reference.create-index.syntax"></a>

```
CREATE INDEX ON table_name (field)
```

## Parâmetros
<a name="ql-reference.create-index.parameters"></a>

***table\$1name***  
O nome da tabela na qual você deseja qual criar o índice. A tabela já deve existir.  
O nome da tabela diferencia maiúsculas de minúsculas.

***field***  
O nome do campo do documento para o qual criar o índice. O campo deve ser um atributo de nível superior.  
Os nomes dos campos indexados diferenciam maiúsculas e minúsculas e podem ter no máximo 128 caracteres.  
Você pode criar um índice em qualquer [tipo de dados Amazon Ion](ql-reference.data-types.md), incluindo `list` e `struct`. No entanto, você só pode fazer a pesquisa indexada pela igualdade de todo o valor de Ion, independentemente do tipo de Ion. Por exemplo, ao usar um tipo `list` como índice, você não pode fazer uma pesquisa indexada por um item dentro da lista.

## Valor de retorno
<a name="ql-reference.create-index.return"></a>

`tableId`: o ID exclusivo da tabela na qual você criou o índice.

## Exemplos
<a name="ql-reference.create-index.examples"></a>

```
CREATE INDEX ON VehicleRegistration (LicensePlateNumber)
```

```
CREATE INDEX ON Vehicle (VIN)
```

## Executar programaticamente usando o driver
<a name="ql-reference.create-index.driver"></a>

Para saber como executar programaticamente essa instrução usando o driver QLDB, consulte os seguintes tutoriais em *Conceitos básicos do driver*:
+ Java: [Tutorial de início rápido](driver-quickstart-java.md) \$1 [Referência de Cookbook](driver-cookbook-java.md)
+ .NET: [Tutorial de início rápido](driver-quickstart-dotnet.md) \$1 [Referência de Cookbook](driver-cookbook-dotnet.md)
+ Go: [Tutorial de início rápido](driver-quickstart-golang.md) \$1 [Referência de Cookbook](driver-cookbook-golang.md)
+ Node.js: [Tutorial de início rápido](driver-quickstart-nodejs.md) \$1 [Referência de Cookbook](driver-cookbook-nodejs.md)
+ Python: [Tutorial de início rápido](driver-quickstart-python.md) \$1 [Referência de Cookbook](driver-cookbook-python.md)