Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SET INDEX
|
SET INDEX ( Feldname ; Index {; *} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Feldname | Feld |
![]() |
Datenfeld für Erstellen oder Löschen des Index | |||||
Index | Boolean, Ganzzahl |
![]() |
Wahr=Index anlegen, Falsch =Index löschen oder Indextyp erstellen: -1=Schlüsselwort, 0=Standard, 1=B-Tree standard, 3=B-Tree cluster |
|||||
* |
![]() |
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:
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:
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)
CREATE INDEX
DELETE INDEX
GET FIELD PROPERTIES
ORDER BY
QUERY
Produkt: 4D
Thema: Strukturzugriff
Nummer:
344
Geändert: 4D v11 SQL
4D Programmiersprache ( 4D v20 R7)