CREATE INDEX

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11


CREATE INDEX (Tabelle; FelderArray; IndexTyp; IndexName{; *})

ParameterTypBeschreibung
TabelleTabelleTabelle für Erstellen des Index
FelderArrayArray ZeigerZeiger auf Feld(er) zur Indizierung
IndexTypGanzzahlArt des anzulegenden Index: -1 = Keywords
0 = Standard,1 = Standard BTree,
3 = Cluster BTree
IndexNameTextName des anzulegenden Index
**Mit * = Asynchrone Indizierung

Beschreibung

Mit dem Befehl CREATE INDEX können Sie folgendes erstellen:

- Einen Standard Index auf ein oder mehrere Datenfelder (zusammengesetzter Index) oder

- Index nach Schlüsselwörtern auf ein Feld.

Der Index für die Tabelle wird in einem oder mehreren Feldern, definiert im Array FelderArray erstellt. Das Array enthält eine einzelne Zeile für einen einfachen Index und zwei oder mehr Zeilen für einen zusammengesetzten Index - mit Ausnahme des Index mit Schlüsselwörtern. Bei zusammengesetzten Indizes ist die Reihenfolge der Felder im Array beim Einrichten des Index von Bedeutung.

Im Parameter IndexTyp definieren Sie den Indextyp. Sie können eine der nachfolgenden Konstanten unter dem Thema "Indextyp" übergeben:

- Keywords Index (-1): Index nach Schlüsselwörtern, der die Indizierung des Feldinhalts Wort für Wort ermöglicht. Beachten Sie, dass Schlüsselwörter nicht zusammengesetzt sein können, Sie dürfen im Array FelderArray nur ein Datenfeld übergeben.

Default Index Type (0): In diesem Fall definiert 4D den Indextyp (ausgenommen Index nach Schlüsselwörtern), der gemäß dem Feld-inhalt am optimalsten ist.

- Standard BTree Index (1): Index vom Typ Standard B-Baum. Dieser vielfältige Indextyp wird in den bisherigen Versionen von 4D ver-wendet.

Cluster BTree Index (3): Index vom Typ B-Baum mit Clustern. Dieser Typ ist optimal für Indizes mit wenigen Schlagwörtern, z.B. wenn dieselben Werte in den Daten sich häufig wiederholen.

Im Parameter IndexName übergeben Sie den Namen des zu erstellenden Index. Dieser Name ist zwingend; bei einen leeren String erhalten Sie einen Fehler. Gibt es den in IndexName bezeichneten Index bereits, führt der Befehl nichts aus.

Mit dem optionalen Parameter * können Sie die Indizierung asynchron ausführen. In diesem Modus wird die Originalmethode nach Aufrufen aus dem Befehl weiter ausgeführt, unabhängig ob die Indizierung abgeschlossen ist oder noch läuft.

Stößt CREATE INDEX auf gesperrte Datensätze, werden sie nicht indi-ziert. Der Befehl wartet darauf, dass sie entsperrt werden.

Tritt während der Ausführung des Befehls ein Problem auf, wie z.B. nicht-indiziertes Feld, wird ein Fehler generiert. Sie können ihn mit einer Fehlerverwaltungsmethode abfangen.

Beispiele

1. Zwei Standard-Indizes auf die Felder "Last Name" und "Telephone" in der Tabelle [Customers] erstellen:

   ARRAY POINTER(fieldPtrArr;1)
   fieldPtrArr{1}:=->[Customers]LastName
   CREATE INDEX([Customers];fieldPtrArr;Standard BTree Index;"CustLNameIdx")
   fieldPtrArr{1}:=->[Customers]Telephone
   CREATE INDEX([Customers];fieldPtrArr;Standard BTree Index;"CustTelIdx")

2. Einen Index nach Schlüsselwörtern auf das Feld "Observations" in der Tabelle [Customers] erstellen:

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

3. Einen zusammengesetzten Index auf die Felder "City" und "Zipcode" der Tabelle [Customers] erstellen:

   ARRAY POINTER(fieldPtrArr;2)
   fieldPtrArr{1}:=->[Customers]City
   fieldPtrArr{2}:=->[Customers]Zipcode
   CREATE INDEX([Customers];fieldPtrArr;Standard BTree Index;"CityZip")


Referenz

DELETE INDEX, SET INDEX.


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next