Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » UltraLite - Datenbankverwaltung » UltraLite-Datenbankreferenz » UltraLite-Erstellungsparameter

 

UltraLite-Erstellungsparameter max_hash_size

Legt die maximale Standardgröße für den Index-Hash in Byte fest.

Syntax
{ ulcreate | ulinit | ulload } -o max_hash_size=Wert;...
Zulässige Werte

0 bis 32 Byte

Standardwert

4 Byte

Bemerkungen

Ein Hash ist ein optionaler Teil eines Indexeintrags, der auf der Indexseite gespeichert wird. Der Hash-Code wandelt die tatsächlichen Zeilenwerte der indizierten Spalten in nummerische Entsprechungen (einen Schlüssel) um, wobei die Reihenfolge für den Index beibehalten wird. Die Größe des Schlüssels und der Umfang des tatsächlichen Werts, der von UltraLite in den Hash-Wert einbezogen wird, wird von der festgelegten Hash-Größe bestimmt.

Eine Zeilen-ID gestattet es UltraLite, die Zeile für die tatsächlichen Daten in der Tabelle zu finden. Eine Zeilen-ID ist immer Teil eines Indexeintrags. Wenn Sie die Hash-Größe auf 0 setzen (d.h. den Index-Hash deaktivieren), enthält der Indexeintrag nur diese Zeilen-ID. Für alle anderen Hash-Größen wird der Hash-Schlüssel, der alle umgewandelten Daten in der Zeile oder einen Teil davon enthalten kann, zusammen mit der Zeilen-ID auf der Indexseite gespeichert. Sie können die Abfrageperformance für diese indizierten Spalten verbessern, da UltraLite dann nicht immer die Daten suchen, laden und entpacken muss, bevor die tatsächlichen Zeilenwerte gefunden wurden.

Um die Hash-Standardgröße für die Datenbank festzulegen, müssen Sie jedoch die Vor- und Nachteile der Abfrageeffizienz einerseits und der Datenbankgröße anderseits abwägen: Je höher der maximale Hash-Wert ist, desto größer wird die Datenbank.

UltraLite verwendet nur so viele Byte, wie für den Datentyp der Spalte erforderlich sind, bis zu dem in diesem Parameter angegebenen Maximum. Die Standard-Hash-Größe wird nur verwendet, wenn Sie bei der Erstellung des Indexes keine Größe festlegen. Wenn Sie die Standard-Hash-Größe auf 0 setzen, wendet UltraLite die Index-Hash-Methode nicht auf Zeilenwerte an.

Sie können die Hash-Größe bei einem bestehenden Index nicht ändern. Wenn Sie einen neuen Index erstellen, können Sie den Standardwert mit dem UltraLite-Assistenten zum Erstellen von Indizes in Sybase Central oder mit der WITH MAX SIZE-Klausel einer Anweisung CREATE INDEX oder CREATE TABLE aufheben.

Wenn Sie Ihre Spalten als DOUBLE, FLOAT oder REAL deklarieren, wird die Hash-Methode nicht verwendet. Die Hash-Größe wird immer ignoriert.

In Sybase Central können Sie die maximale Hash-Größe in jedem Assistenten einstellen, der eine Datenbank erstellt. Wählen Sie auf der Seite Neue Einstellungen für die Datenbankspeicherung die Option Standardmäßige maximale Hash-Größe für Indizes.

Aus einer Clientanwendung legen Sie diesen Parameter als einen der Erstellungsparameter für die CreateDatabase-Methode in der Datenbankmanager-Klasse fest.

Siehe auch