Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
SET INDEX

SET INDEX 


 

SET INDEX ( Feldname ; Index {; *} ) 
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
in Mit *: Asynchrone Indizierung

SET INDEX ist zwar ein veralteter Befehl, er wird jedoch weiterhin unterstützt und kann in Ihrer Anwendung bleiben - vorhandener Code muss nicht umgeschrieben werden. Wir empfehlen jedoch, Indizes über die Befehle CREATE INDEX und DELETE INDEX zu verwalten, da sie mehr Funktionalitäten bieten.

Der SET INDEX akzeptiert zwei Syntaxen:

  • Ü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 folgenden 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 entsperrt ist.

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 jedem Befehl gestoppt, der auf den Index zugreift.

Hinweise:

  • Mit diesem Befehl erstellte Indizes haben keine Namen. Folglich lassen sie sich nicht über den Befehl DELETE INDEX löschen, da er eine auf dem Namen basierende Syntax verwendet.
  • Dieser Befehl kann keine zusammengesetzte 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.

Da dieser Befehl die Datenbankstruktur verändert, kann er nicht im Zusammenhang mit einer schreibgeschützten gepackten Anwendung (.4dc-Datei, die im Ordner "Programme" installiert ist, oder .4dz-Datei) verwendet werden.

Das folgende Beispiel indiziert das Feld [Customers]ID:

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

Sie möchten das Feld [Customers]Name im asynchronen Modus indizieren:

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

Erstellung eines Stichwortverzeichnisses:

 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

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v11 SQL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)