versión 11 (Modificado)
SET INDEX (campo; index{; modo{; *}})
Parámetro | Tipo | Descripción | |
campo | Campo | Campo del cual crear o borrar el índice | |
index | Booleano | Entero | True=Crear el índice, False=Borrar el índice, o | |
Crear un índice de tipo: -1=palabras claves, | |||
0=por defecto, 1=B-Tree estándar, 3=B-Tree cluster | |||
modo | Entero largo | Obsoleto (parámetro ignorado) | |
* | Si se pasa * indexación asincrónica |
Descripción
El comando SET INDEX acepta dos sintaxis:
Si pasa un booleano en el parámetro index, el comando crea o borra el índice de campo.
Si pasa un entero el parámetro index, el comando crea un índice del tipo especificado.
index = Booleano
Para indexar el campo, pase True en index. El comando crea un índice del tipo por defecto. Si el índice ya existe, el comando no tiene efecto.
Si pasa False en index, el comando borrará todos los índices no compuestos asociados al campo. Si el índice no existe, el comando no tiene efecto.
index = Entero
En este caso, el comando crea un índice del tipo especificado por campo. Puede pasar una de las siguientes constantes del tema "Index Type":
Keywords Index (-1): Índice de palabras claves que permite la indexación palabra por palabra del contenido del campo. Este tipo de índice sólo puede utilizarse con campos de tipo Texto o Alfa.
Default Index Type (0): En este caso, 4D define el tipo de índice (excluyendo los índices de palabras claves) óptimo de acuerdo a los contenidos del campo.
Standard BTree Index (1): Índice de tipo B-Tree clásico. Este tipo de índice multipropósito se utiliza en las versiones anteriores de 4D.
Cluster BTree Index (3): índice de tipo B-Tree utiliza clusters. Este tipo de índice se optimiza cuando el índice contiene pocas palabras claves, es decir cuando los mismos valores se presentan con frecuencia en los datos.
SET INDEX no indexará los registros bloqueados; el comando esperará a que los registros sean desbloqueados.
A partir de la versión 11, el parámetro modo es inútil, por lo tanto es ignorado si se pasa.
El parámetro opcional * indica una indexación asincrónica (simultánea). Una indexación asincrónica permite continuar de inmediato la ejecución del método de llamante, sin importar si la indexación ha terminado o no. Sin embargo, la ejecución se detendrá si un comando requiere el índice.
Notas:
Los índices creados por este comando no tienen nombres. No pueden ser borrados por el comando DELETE INDEX utilizando la sintaxis basada en el nombre.
Este comando no puede utilizarse para crear o borrar índices compuestos.
Este comando no puede utilizarse para borrar un índice de palabras claves creado por el comando CREATE INDEX.
Ejemplos
1. El siguiente ejemplo indexa el campo [Clientes]Num:
UNLOAD RECORD([Clientes]) SET INDEX ([Clientes]Num; True)
2. Usted quiere indexar el campo [Clientes]Nombre en modo asincrónico:
SET INDEX ([Clientes]Nombre; True;100)
3. Creación de un índice de palabras claves:
SET INDEX([Libros]Resumen;Keywords Index)
Ver también
CREATE INDEX, DELETE INDEX, GET FIELD PROPERTIES, ORDER BY, QUERY.