4D v16.3

CREER INDEX

Accueil

 
4D v16.3
CREER INDEX

CREER INDEX 


 

CREER INDEX ( laTable ; tabChamps ; typeIndex ; nomIndex {; *} ) 
Paramètre Type   Description
laTable  Table in Table pour laquelle créer un index
tabChamps  Tableau pointeur in Pointeur(s) vers le(s) champ(s) à indexer
typeIndex  Entier long in Type d’index à créer : -1 = Mots-clés, 0 = par défaut, 1 = B-Tree standard, 3 = BTree cluster
nomIndex  Texte in Nom de l'index à créer
Opérateur in Si passé = indexation asynchrone

La commande CREER INDEX permet de créer :

  • un index standard sur un ou plusieurs champs (index composite) ou
  • un index de mots-clés sur un champ.

L’index est créé pour la table laTable en utilisant le ou les champ(s) désigné(s) par le tableau de pointeurs tabChamps. Ce tableau contient une seule ligne si vous souhaitez créer un index simple et deux ou plusieurs lignes si vous souhaitez créer un index composite (sauf index de mots-clés). Dans le cas d’index composites, l’ordre des champs dans le tableau est important lors de la construction de l’index.

Le paramètre typeIndex vous permet de définir le type d’index à créer. Vous pouvez passer une des constantes suivantes, placées dans le thème Type index :

Constante Type Valeur Comment
Index BTree cluster Entier long 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.
Index BTree standard Entier long 1 Index de type B-Tree classique. Ce type d’index polyvalent est utilisé dans les versions précédentes de 4D
Index de mots clés Entier long -1 Permet l’indexation mot à mot du contenu du champ. Ce type d’index est utilisable avec les champs de type Texte, Alpha et Image. Attention, les index de mots-clés ne peuvent pas être composites.
Type index par défaut Entier long 0 4D définit le type d’index (hors index de mots-clés) le plus optimisé en fonction du contenu du champ.

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.

Passez dans nomIndex le nom de l’index à créer. Nommer les index est nécessaire si plusieurs index de types différents peuvent être associés à un même champ et si vous souhaitez pouvoir les supprimer individuellement à l'aide de la commande SUPPRIMER INDEX. Si l’index nomIndex existe déjà, la commande ne fait rien.

Le paramètre facultatif *, lorsqu’il est passé, permet d’effectuer l’indexation en mode asynchrone. Dans ce mode, la méthode d’origine poursuit son exécution après l’appel de la commande, que l’indexation soit terminée ou non.

Si la commande CREER INDEX rencontre des enregistrements verrouillés, elle ne les indexe pas et attend qu’ils soient libérés.

Si une erreur se produit durant l’exécution de la commande (champ non indexable, tentative de création d’index de mots-clés sur plusieurs champs, etc.), une erreur est générée. Cette erreur peut être interceptée à l’aide d’une méthode d’appel sur erreur.

Création de deux index standard sur les champs “Nom” et “Téléphone” de la table [Clients] :

 TABLEAU POINTEUR(tabPtrChp;1)
 tabPtrChp{1}:=->[Clients]Nom
 CREER INDEX([Clients];tabPtrChp;Index BTree standard;"IdxCltNom")
 tabPtrChp{1}:=->[Clients]Téléphone
 CREER INDEX([Clients];tabPtrChp;Index BTree standard;"IdxCltTel")

Création d’un index de mots-clés sur le champ “Observations” de la table [Clients] :

 TABLEAU POINTEUR(tabPtrChp;1)
 tabPtrChp{1}:=->[Clients]Observations
 CREER INDEX([Clients];tabPtrChp;Index de mots clés;"IdxCltObs")

Création d’un index composite sur les champs “CodePostal” et “Ville” de la table [Clients] :

 TABLEAU POINTEUR(tabPtrChp;2)
 tabPtrChp{1}:=->[Clients]CodePostal
 tabPtrChp{2}:=->[Clients]Ville
 CREER INDEX([Clients];tabPtrChp;Index BTree standard;"CPVille")



Voir aussi  

FIXER INDEX
REACTIVER INDEX
SUPPRIMER INDEX

 
PROPRIÉTÉS 

Produit : 4D
Thème : Définition structure
Numéro : 966
Nom intl. : CREATE INDEX

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)