version 11 (Modifiée)
FIXER INDEX (champ; index{; mode{; *}})
Paramètre | Type | Description | |
champ | Champ | Champ duquel créer ou supprimer l'index | |
index | Booléen | Entier | Vrai=Créer l'index, Faux=Supprimer l'index, ou | |
Créer un index de type : -1=mots-clés, 0=par défaut, | |||
1=B-Tree standard, 3=B-Tree cluster | |||
mode | Entier long | Obsolète (paramètre ignoré) | |
* | Indexation asynchrone si * est passé |
Description
La commande FIXER INDEX admet deux syntaxes :
Si vous passez un booléen dans le paramètre index, la commande crée ou supprime l'index du champ que vous avez passé dans champ.
Si vous passez un entier dans le paramètre index, la commande crée un index du type spécifié.
index = booléen
Pour indexer le champ, passez Vrai dans index. La commande crée un index du type par défaut. Si l'index existe déjà, la commande ne fait rien.
Si vous passez Faux dans index, la commande supprimera tous les index non composites associés au champ. S'il n'existe pas d'index, la commande ne fait rien.
index = entier
Dans ce cas, la commande crée un index du type spécifié pour le champ. Vous pouvez passer une des constantes suivantes, placées dans le thème "Type index" :
Index de mots clés (-1) : index de mots-clés, permettant l'indexation mot à mot du contenu du champ. Ce type d'index n'est utilisable qu'avec les champs de type Texte ou Alpha.
Type index par défaut (0) : dans ce cas, 4D définit le type d'index (hors index de mots-clés) le plus optimisé en fonction du contenu du champ.
Index BTree standard (1) : index de type B-Tree classique. Ce type d'index polyvalent est utilisé dans les versions précédentes de 4D.
Index BTree cluster (3) : index de type B-Tree utilisant des clusters. Ce type d'index est optimisé lorsque l'index contient peu de clés, c'est-à-dire lorsque les mêmes valeurs reviennent souvent dans les données.
FIXER INDEX n'indexera pas les enregistrements verrouillés ; la commande attendra que les enregistrements soient libérés.
Depuis la version 11, le paramètre mode est inutile et est ignoré s'il est passé.
Le paramètre optionnel * indique une indexation asynchrone (simultanée). Une indexation asynchrone permet à la méthode appelante de poursuivre son exécution immédiatement après l'appel, que l'indexation soit terminée ou non. Cependant, l'exécution sera stoppée si une commande requiert l'index.
Notes :
Les index créés par cette commande ne portent pas de nom. Ils ne pourront pas être supprimés par la commande SUPPRIMER INDEX via la syntaxe basée sur le nom.
Cette commande ne permet pas de créer ou de supprimer des index composites.
Cette commande ne permet pas de supprimer un index de mots-clés créé par la commande CREER INDEX.
Exemples
(1) L'exemple suivant indexe le champ [Clients]Num :
LIBERER ENREGISTREMENT([Clients]) FIXER INDEX ([Clients]Num; Vrai)
(2) Vous souhaitez indexer le champ [Clients]Nom, en mode asynchrone :
FIXER INDEX([Clients]Nom;Vrai;*)
(3) Création d'un index de mots-clés :
FIXER INDEX([Livres]Résumé;Index de mots clés)
Référence
CHERCHER, CREER INDEX, LIRE PROPRIETES CHAMP, SUPPRIMER INDEX, TRIER.