4D v16.3

SET INDEX

Home

 
4D v16.3
SET INDEX

SET INDEX 


 

SET INDEX ( Feldname ; Index {; Modus} {; *} )  
Parameter Typ   Beschreibung
Feldname  Feld in Datenfeld für Erstellen oder Löschen des Index
Index  Boolean, Ganzzahl in Wahr=Index anlegen, Falsch =Index löschen oder Indextyp erstellen:
-1=Schlüsselwort, 0=Standard, 1=B-Tree standard, 3=B-Tree cluster
Modus  Lange Ganzzahl in Überholt (Parameter wird ignoriert)
in Mit *: Asynchrone Indizierung

Hinweis zur Kompatibilität: Dieser Befehl wird nur zur Wahrung der Kompatibilität beibehalten. Wir empfehlen, die Befehle CREATE INDEX und DELETE INDEX zu verwenden, um Indizes per Programmierung zu verwalten.

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 Feldname 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 Standard Indizes, z.B. nicht-zusammengesetzt und ohne Schlüsselwort, die dem Feld zugewiesen sind. Ist kein Index vorhanden, hat der Aufruf keine Auswirkung.

Index = Ganzzahl
In diesem Fall erstellt der Befehl einen bestimmten Indextyp. Sie können eine der nachfolgenden Konstanten unter dem Thema Indextyp übergeben:

Konstante Typ Wert Kommentar
Cluster BTree Index Lange Ganzzahl 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.
Default Index Type Lange Ganzzahl 0 4D definiert den Indextyp (ausgenommen Index nach Schlüsselwörtern), der gemäß dem Feldinhalt am besten passt.
Keywords Index Lange Ganzzahl -1 Index nach Schlüsselwörtern, der die Indizierung des Feldinhalts Wort für Wort ermöglicht. Dieser Indextyp lässt sich nur für Datenfelder vom Typ Text oder alphanumerisch verwenden.
Standard BTree Index Lange Ganzzahl 1 Index vom Typ Standard B-Baum. Dieser vielfältige Indextyp wird in den bisherigen Versionen von 4D verwendet.

Hinweis: Ein Index vom Typ B-Tree, der einem Datenfeld vom Typ Text zugeordnet ist, speichert maximal die ersten 1024 Zeichen des Datenfeldes. Deshalb funktionieren in diesem Kontext Suchläufe nach Strings mit mehr als1024 Zeichen nicht.

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.

Folgendes Beispiel indiziert das Feld [Customers]ID:

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

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

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

Dieses Beispiel erstellt einen Volltext-Index:

 SET INDEX([Books]Summary;Keywords Index)



Siehe auch 

CREATE INDEX
DELETE INDEX
GET FIELD PROPERTIES
ORDER BY
QUERY

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Strukturzugriff
Nummer: 344

This command can be run in preemptive processes

 
GESCHICHTE 

Geändert: 4D v11 SQL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)