CREER INDEX

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11


CREER INDEX (laTable; tabChamps; typeIndex; nomIndex{; *})

ParamètreTypeDescription
laTableTableTable pour laquelle créer un index
tabChampsTableau pointeurPointeur(s) vers le(s) champ(s) à indexer
typeIndexEntierType d'index à créer : -1 = Mots-clés, 0 = par défaut,
1 = B-Tree standard, 3 = BTree cluster
nomIndexTexteNom de l'index à créer
**Si passé = indexation asynchrone

Description

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" :

Index de mots clés (-1) : index de mots-clés. Attention, les index de mots-clés ne peuvent pas être composites : vous ne devez passer qu'un seul champ dans le tableau tabChamps.

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.

Passez dans nomIndex le nom de l'index à créer. Ce nom est obligatoire, si vous passez une chaîne vide, une erreur est générée. 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.

Exemples

(1) 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")

(2) 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")

(3) 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")

Référence

FIXER INDEX, SUPPRIMER INDEX.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant