4D v16.3CREATE INDEX |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
CREATE INDEX
|
CREATE INDEX ( tabela ; arrayCampos ; tipoIndice ; nomeIndice {; *} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
tabela | Tabela |
![]() |
Tabela para qual criar um índice | |||||
arrayCampos | Array ponteiro |
![]() |
Ponteiros aos campos a serem indexados | |||||
tipoIndice | Inteiro longo |
![]() |
Tipo de índice a criar: -1 = Palavra chave, 0 = padrão, 1 = B-Tree padrão, 3 = Cluster B-Tree | |||||
nomeIndice | Texto |
![]() |
Nome de Índice a criar | |||||
* | Operador |
![]() |
Se passado = índice assincrônico | |||||
O comando CREATE INDEX permite criar:
Constante | Tipo | Valor |
Cluster BTree Index | Inteiro longo | 3 |
Default Index Type | Inteiro longo | 0 |
Keywords Index | Inteiro longo | -1 |
Standard BTree Index | Inteiro longo | 1 |
Nota: um índice B-Tree associado a um campo de tipo texto armazena como máximo os primeiros 1024 caracteres do campo. Portanto nesse contexto, as pesquisas nas cadeias que contenham mais de 1024 caracteres falharão.
Passe em nomeIndice, o nome do índice a criar. É necessário dar nomes aos índices se vários índices de diferentes tipos podem associados a um mesmo campo e se preferir poder apagá-los individualmente com a ajuda do comando DELETE INDEX. Se o índice nomeIndice já existir, o comando não faz nada.
O parâmetro opcional *, quando for passado, permite realizar a indexação em modo assincrônico. Nesse modo, o método original continua sua execução depois da chamada do comando, sem importar se a indexação terminou ou não.
Se o comando CREATE INDEX encontrar registros bloqueados, estes não serão indexados e o comando esperará que sejam desbloqueados.
Se ocorrer um problema durante a execução do comando (campo não indexável, tentativa de criação de um índice de palavras chaves em mais de um campo, etc.), um erro é gerado. Este erro pode ser interceptado utilizando um método de gestão de erros.
Criação de dois índices padrão nos campos “Sobrenome” e “Telefone” da tabela [Clientes]:
ARRAY POINTER(arrayPtrCampo;1)
fieldPtrArr{1}:=->[Clientes]Sobrenome
CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustLNameIdx")
fieldPtrArr{1}:=->[Clientes]Telefone
CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustTelIdx")
Criação de um índice de palavras chaves no campo "Observações da tabela [Clientes]:
ARRAY POINTER(arrayPtrCampo;1)
fieldPtrArr{1}:=->[Clientes]Observações
CREATE INDEX([Clientes];arrayPtrCampo;Keywords Index;"CustObsIdx")
Criação de um índice composto nos campos “Cidade” e “CódigoPostal” da tabela [Clientes]:
ARRAY POINTER(arrayPtrCampo;2)
fieldPtrArr{1}:=->[Clientes]Cidade
fieldPtrArr{2}:=->[Clientes]CodigoPostal
CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CidadeCEP")
Produto: 4D
Tema: Acesso a Estrutura
Número
966
Criado por: 4D v11 SQL
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)