SET INDEX

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

Version 11 (Geändert)


SET INDEX (Feld; Index{; Modus{; *}})

ParameterTypBeschreibung
FeldDatenfeldDatenfeld für Erstellen oder Löschen des Index
IndexBoolean / GanzzahlWahr=Index anlegen, Falsch =Index löschen
oder Indextyp erstellen: -1=Schlüsselwort,
0=Standard, 1=B-Tree standard, 3=B-Tree cluster
ModusLange GanzzahlObsolet (Parameter wird ignoriert)
*Mit *: Asynchrone Indizierung

Beschreibung

Der Befehl SET INDEX erlaubt zwei Syntaxarten:

- Übergeben Sie in Index einen Boolean Wert, erstellt oder entfernt der Befehl den Index für das in Feld angegebene Datenfeld.

- Übergeben Sie in Index eine Ganzzahl, erstellt der Befehl den angegebenen Indextyp.

Index = Boolean

Wollen Sie das Datenfeld indizieren, übergeben Sie in Index WAHR. Der Befehl legt einen Index vom Typ Standard an. Ist der Index bereits vorhanden, hat der Aufruf keine Auswirkung.

Übergeben Sie in Index FALSCH, löscht der Befehl alle nicht-zusammengesetzten Indizes, die dem Feld zugewiesen sind. Ist kein Index vorhanden, hat der Aufruf keine Auswirkung.

Index = Ganzzahl

In die-sem Fall erstellt der Befehl einen bestimmten Indextyp. Sie können eine der nachfolgenden Konstanten unter dem Thema "Indextyp" übergeben:

- Keywords Index (-1): Index nach Schlüsselwörtern, der die Indizie-rung des Feldinhalts Wort für Wort ermöglicht. Diese Art lässt sich nur auf Felder vom Typ Text oder Alphanumerisch anwenden.

- Default Index Type (0): In diesem Fall definiert 4D den Indextyp (ausgenommen Index nach Schlüsselwörtern), der je nach dem Feldinhalt 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. Die-ser Typ ist optimal für Indizes mit wenigen Schlagwörtern, z.B. wenn dieselben Werte in den Daten sich häufig wiederholen.

SET INDEX indiziert keine gesperrten Datensätze; er wartet ab, bis der Datensatz nicht mehr gesperrt ist.

Der Parameter Modus hat ab Version 11 keine Bedeutung mehr und wird ignoriert, wenn er übergeben wurde.

Der optionale Parameter * erlaubt eine asynchrone (simultane) Indizierung. Mit asynchroner Indizierung kann eine aufgerufene Methode weiter ausgeführt werden, auch wenn die Indizierung noch nicht abgeschlossen ist. Die Ausführung wird jedoch bei einem Befehl gestoppt, der auf den Index zugreift.

Hinweise:

Mit diesem Befehl erstellte Indizes haben keinen Namen. Folglich lassen sie sich nicht über den Befehl DELETE INDEX löschen, da er eine auf Namen basierende Syntax verwendet.

Dieser Befehl kann keine zusammengesetzten Indizes erstellen oder löschen.

Dieser Befehl erlaubt nicht das Löschen von Indizes nach Schlüsselwörtern, die mit dem Befehl CREATE INDEX angelegt wurden.

Beispiele

1. Folgendes Beispiel indiziert das Feld [Customers]ID:

   UNLOAD RECORD([Customers])
   SET INDEX ([Customers]ID; True)

2. Sie wollen das Feld [Customers]Name im asynchronen Modus indizieren:

   SET INDEX ([Customers]Name; True;*)

3. Dieses Beispiel erstellt einen Volltext-Index:

   SET INDEX([Books]Summary; Keywords Index)

Referenz

CREATE INDEX, DELETE INDEX, GET FIELD PROPERTIES, ORDER BY, QUERY.


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