4D v16.3SET INDEX |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SET INDEX
|
SET INDEX ( campo ; indice {; modo} {; *} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
campo | Campo |
![]() |
campo para o qual criar ou apagar o índice | |||||
indice | Booleano, Inteiro |
![]() |
True = criar índice, False = apagar índice, ou Criar um índice do tipo: -1=palavras chaves, 0= por padrão, 1=B-Tree padrão, 3=B-Tree cluster | |||||
modo | Inteiro longo |
![]() |
obsoleto (parâmetro ignorado) | |||||
* |
![]() |
Índice assincrônico se * for passado | ||||||
Nota de Compatibilidade: Este comando é mantido apenas por motivos de compatibilidade. É recomendado usar os comandos CREATE INDEX e DELETE INDEX para gerenciar índices através de programação.
O comando SET INDEX aceita duas sintaxes:
índice = Booleano
Para indexar o campo, passe True em índice. O comando cria um índice do tipo "por padrão". Se o índice já existir, o comando não faz nada.
Se passar False em índice, o comando apagará todos os índices (não-compostos e não-palavras-chaves) associados ao campo. Se o índice não existir, o comando não faz nada.
índice = Inteiro
Nesse caso, o comando cria um índice do tipo especificado por Campo. Pode passar uma das seguintes constantes, que são encontradas no tema “Tipo de Índice” :
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 strings que contenham mais de 1024 caracteres falharão.
SET INDEX não indexará registros bloqueados; o comando esperará que o registro seja desbloqueado.
A partir da versão 11, o parâmetro Modo não tem mais função, e se for passado, será ignorado.
O parâmetro opcional * indica uma indexação asincrônica (simultânea). Uma indexação assincrônica permite ao método chamante continuar sua execução imediatamente depois da chamada, não importa se a indexação tenha terminado ou não. Entretanto, a execução será interrompida se um comando requerer a indexação.
O exemplo abaixo indexa o campo [Clientes]ID:
UNLOAD RECORD([Clientes])
SET INDEX([Clientes]ID;True)
Suponha que queira indexar o campo [Clientes]Nome em modo assincrônico:
SET INDEX([Clientes]Nome;True;*)
O exemplo abaixo indexa o campo [Clientes]Num:
UNLOAD RECORD([Clientes])
SET INDEX([Clientes]Num;True)
CREATE INDEX
DELETE INDEX
GET FIELD PROPERTIES
ORDER BY
QUERY
Produto: 4D
Tema: Acesso a Estrutura
Número
344
Modificado: 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)