CREATE INDEX

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11


CREATE INDEX (laTabla; arrayCampos; tipoIndice; nombreIndice{; *})

ParámetroTipoDescripción
laTablaTablaTabla para la cual crear un índice
arrayCamposArray punteroPuntero(s) a el/los campo(s) a indexar
tipoIndiceEnteroTipo de índice a crear: -1 = Palabras claves, 0 = por
defecto, 1 = B-Tree estándar, 3 = B-Tree cluster
nombreIndiceTextoNombre del índice a crear
**Si pasa = indexación asincrónica

Descripción

El comando CREATE INDEX permite crear:

Un índice estándar en uno o más campos (índice compuesto) o

Un índice de palabras claves en un campo.

El índice se crea para la tabla laTabla utilizando uno o más campos designados por el array de punteros arrayCampos. Este array contiene una sola línea si quiere crear un índice simple y dos o más cuando quiere crear un índice compuesto (excepto en el caso de un índice de palabras claves). En el caso de los índices compuestos, el orden de los campos en el array es importante durante la construcción del índice.

El parámetro tipoIndice permite definir el tipo de índice a crear. Puede pasar una de las siguientes constantes, que se encuentran en el tema"Index Type":

Keywords Index (-1): Índice de palabras claves. Recuerde que las palabras claves no pueden ser compuestas: debe pasa sólo un campo en el array arrayCampos.

Default Index Type (0): En este caso, 4D define el tipo de índice (excepto í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 utilizando clusters. Este tipo de índice es óptimo cuando el índice contiene pocas claves, es decir cuando los mismos valores se presentan con frecuencia en los datos.

En el parámetro nomIndice, pase el nombre del índice a crear. Este nombre es obligatorio, si pasa una cadena vacía, se genera un error. Si el índice nomIndice ya existe, el comando no hace nada.

El parámetro opcional *, cuando se pasa, permite efectuar la indexación en modo asincrónico. En este modo, el método original continua su ejecución después de la llamada del comando, sin importar si la indexación ha terminado o no.

Si el comando CREATE INDEX encuentra registros bloqueados, estos no serán indexados y el comando esperará a que sean desbloqueados.

Si ocurre un problema durante la ejecución del comando (campo no indexable, intento de creación de un índice de palabras claves de más de un campo, etc.), se genera un error. Este error puede interceptarse utilizando un método de gestión de errores.

Ejemplos

1. Creación de dos índices estándar en los campos "Apellido" y "Teléfono" de la tabla [Clientes]:

   ARRAY POINTER(arrayPtrCampo;1)
   fieldPtrArr{1}:=->[Clientes]Apellido
   CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustLNameIdx")
   fieldPtrArr{1}:=->[Clientes]Telefono
   CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustTelIdx")

2. Creación de un índice de palabras claves en el campo "Observaciones" de la tabla [Clientes]:

   ARRAY POINTER(arrayPtrCampo;1)
   fieldPtrArr{1}:=->[Clientes]Observaciones
   CREATE INDEX([Clientes];arrayPtrCampo;Keywords Index;"CustObsIdx")

3. Creación de un índice compuesto en los campos "Ciudad" y "CodigoPostal" de la tabla [Clientes]:

   ARRAY POINTER(arrayPtrCampo;2)
   fieldPtrArr{1}:=->[Clientes]Ciudad
   fieldPtrArr{2}:=->[Clientes]CodigoPostal
   CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CityZip")

Ver también

DELETE INDEX, SET INDEX.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente