Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
SET INDEX
|
SET INDEX ( unCampo ; index {; *} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
unCampo | 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 | |||||
* |
![]() |
Si se pasa * indexación asincrónica | ||||||
SET INDEX, aunque es un comando heredado, todavía es totalmente compatible y puede permanecer en su aplicación, no es necesario volver a escribir el código existente. Sin embargo, sería mejor utilizar CREATE INDEX y DELETE INDEX para administrar los índices porque brindan más funcionalidades.
El comando SET INDEX acepta dos sintaxis:
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 hace nada.
Si pasa False en index, el comando borrará todos los índices estándar (es decir, no compuestos ni palabras claves) asociados al campo. Si el índice no existe, el comando no hace nada.
index = Entero
En este caso, el comando crea un índice del tipo especificado por campo. Puede pasar una de las siguientes constantes, que se encuentran en el tema “Tipo de índice”:
Constante | Tipo | Valor | Comentario |
Cluster BTree Index | Entero largo | 3 | Índice de tipo B-Tree utilizando 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. |
Default Index Type | Entero largo | 0 | 4D define el tipo de índice (excepto los índices de palabras claves) que es el más optimizado en función del contenido del campo. |
Keywords Index | Entero largo | -1 | 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. |
Standard BTree Index | Entero largo | 1 | Índice de tipo B-Tree clásico. Este tipo de índice multi propósito se utiliza en las versiones anteriores de 4D |
Nota: un índice B-Tree asociado a un campo de tipo texto almacena como máximo los primeros 1024 caracteres del campo. Por lo tanto en este contexto, las búsquedas en las cadenas que contengan más de 1024 caracteres fallarán.
SET INDEX no indexará registros bloqueados; el comando esperará a que el registro sea desbloqueado.
El parámetro opcional * indica una indexación asincrónica (simultánea). Una indexación asincrónica permite al método llamante continuar su ejecución inmediatamente después de la llamada, bien sea que la indexación haya terminado o no. Sin embargo, la ejecución se detendrá si un comando requiere la indexación.
Notas:
Dado que este comando modifica la estructura de la base de datos, no puede utilizarse en el contexto de una aplicación empaquetada de sólo lectura (archivo .4dc instalado en la carpeta Archivos de programa o archivo .4dz).
El siguiente ejemplo indexa el campo [Clientes]ID:
UNLOAD RECORD([Clientes])
SET INDEX([Clientes]ID;True)
Usted quiere indexar el campo [Clientes]Nombre en modo asincrónico:
SET INDEX([Clientes]Nombre;True;*)
Creación de un índice de palabras claves:
SET INDEX([Libros]Summary;Keywords Index)
CREATE INDEX
DELETE INDEX
GET FIELD PROPERTIES
ORDER BY
QUERY
Producto: 4D
Tema: Estructura
Número
344
Modificado: 4D v11 SQL
Manual de lenguaje 4D ( 4D v20)
Manual de lenguaje 4D ( 4D v20.1)
Manual de lenguaje 4D ( 4D v20.2)
Manual de lenguaje 4D ( 4D v20.3)
Manual de lenguaje 4D ( 4D v20.4)
Manual de lenguaje 4D ( 4D v20.5)
Manual de lenguaje 4D ( 4D v20.6)