O comando BUILD INDEX aciona a compilação de um índice secundário após o envio de uma tarefa assíncrona de criação de índice. Esse recurso aplica-se apenas às versões do LindormTable posteriores à 2.2.16 e iguais ou anteriores à 2.6.3.
Compatibilidade de versões
O comportamento do comando BUILD INDEX varia conforme a versão do LindormTable:
|
Versão do LindormTable |
Comportamento |
|
> 2.2.16 e ≤ 2.6.3 |
Após enviar uma tarefa assíncrona de criação de índice, execute |
|
> 2.6.3 |
O comando |
Sintaxe
BUILD INDEX [ index_identifier ]
ON table_identifier
|
Parâmetro |
Descrição |
|
|
Nome do índice a ser compilado. Execute |
|
|
Nome da tabela na qual o índice será compilado. |
Observações de uso
Limites de simultaneidade
O LindormTable impõe os seguintes limites para tarefas simultâneas de compilação de índices:
No máximo 2 tarefas de compilação de índices podem ser executadas simultaneamente em todas as tabelas.
Apenas 1 tarefa de compilação de índices pode ser executada por tabela de cada vez.
Isso significa que duas tarefas só podem ser executadas simultaneamente se cada uma tiver como alvo uma tabela diferente.
Se você enviar duas ou mais tarefas para a mesma tabela, apenas a primeira terá êxito; as demais falharão imediatamente. Para executar outra tarefa nessa tabela, aguarde até que a primeira atinja INDEX_STATE = ACTIVE e INDEX_PROGRESS = 100% e, em seguida, envie uma nova instrução BUILD INDEX.
Da mesma forma, se já houver duas tarefas em execução em tabelas distintas, qualquer tarefa adicional falhará até que ambas sejam concluídas.
Status da compilação do índice
Use SHOW INDEX para monitorar o progresso da compilação do índice. Os campos a seguir indicam o estado atual da compilação:
|
Campo |
Valor |
Significado |
|
|
|
Falha ao iniciar a tarefa devido a um conflito de simultaneidade. |
|
|
|
Índice compilado com sucesso e pronto para uso. |
|
|
|
Falha na tarefa porque o limite de simultaneidade foi excedido. |
|
|
|
Compilação concluída com sucesso. |
Exemplo
Compile um índice secundário chamado idx1 na tabela test:
BUILD INDEX idx1 ON test;
Verifique o resultado
Execute a seguinte instrução para confirme se o índice foi compilado com sucesso:
SHOW INDEX FROM test;
O índice estará pronto quando INDEX_STATE for ACTIVE e INDEX_PROGRESS for 100%.