4D v15.4SET INDEX |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v15.4
SET INDEX
|
SET INDEX ( leChamp ; index {; mode} {; *} ) | ||||||||
Paramètre | Type | Description | ||||||
leChamp | 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é | ||||||
Note de compatibilité : Cette commande est conservée pour des raisons de compatibilité uniquement. Il est désormais recommandé d'utiliser les commandes CREATE INDEX et DELETE INDEX pour gérer les index par programmation.
La commande SET INDEX admet deux syntaxes :
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 standard (c'est-à-dire, non composites et non mots-clés) 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 leChamp. Vous pouvez passer une des constantes suivantes, placées dans le thème “Type index” :
Constante | Type | Valeur |
Index BTree cluster | Entier long | 3 |
Index BTree standard | Entier long | 1 |
Index de mots clés | Entier long | -1 |
Type index par défaut | Entier long | 0 |
Note : Un index B-Tree associé à un champ de type texte stocke au maximum les 1024 premiers caractères du champ. Par conséquent dans ce contexte, les recherches sur des chaînes contenant plus de 1024 caractères ne pourront aboutir.
SET 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 :
L'exemple suivant indexe le champ [Clients]Num :
UNLOAD RECORD([Clients])
SET INDEX([Clients]Num;True)
Vous souhaitez indexer le champ [Clients]Nom, en mode asynchrone :
SET INDEX([Clients]Nom;True;*)
Création d'un index de mots-clés :
SET INDEX([Livres]Résumé;Keywords Index)
CREATE INDEX
DELETE INDEX
GET FIELD PROPERTIES
ORDER BY
QUERY
Produit : 4D
Thème : Définition structure
Numéro :
344
Modifié : 4D v11 SQL
4D - Langage ( 4D v15.4)
4D - Langage ( 4D v15)
4D - Langage ( 4D v15.3)