JET_SPACEHINTS-Struktur
Gilt für: Windows | Windows Server
JET_SPACEHINTS-Struktur
Die JET_SPACEHINTS-Struktur enthält Informationen zu Raumzuordnungsmustern, wenn eine b-Struktur durch Anfüge- oder Heißpunktteilungen wächst. Anfügespalten treten auf, wenn Datensätze am Ende einer b-Struktur hinzugefügt werden und Hotpoint-Splits auftreten, wenn mehrere Datensätze derselben virtuellen Einfügemarke hinzugefügt werden (z. B. das Hinzufügen von "Marie", "Mark", "Martin", "Mary" zur Mitte eines alphabetisch sortierten b-Baums).
Windows 7: Die JET_SPACEHINTS-Struktur wird in Windows 7 eingeführt.
typedef struct tagJET_SPACEHINTS {
unsigned long cbStruct;
unsigned long ulInitialDensity;
unsigned long cbInitial;
JET_GRBIT grbit;
unsigned long ulMaintDensity;
unsigned long ulGrowth;
unsigned long cbMinExtent;
unsigned long cbMaxExtent;
} JET_SPACEHINTS;
Member
cbStruct
Die Größe (in Bytes) dieser Struktur. Legen Sie diesen Member auf sizeof( JET_SPACEHINTS ) fest.
ulInitialDensity
Die Dichte im Layout (anfügen)
cbInitial
Die Anfangsgröße (in Bytes) des zu erstellenden Objekts. Dies muss ein Vielfaches der Datenbankseitengröße sein.
grbit
Eine Gruppe von Bits, die die Optionen enthalten, die für diese Struktur verwendet werden sollen, einschließlich null oder mehr der folgenden Optionen.
Wert |
Bedeutung |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Ändert die interne Zuordnungsrichtlinie so, dass Leerzeichen aus dem unmittelbaren übergeordneten Element einer B-Struktur abgerufen werden. |
JET_bitCreateHintAppendSequential |
Ermöglicht das Anfügeteilungsverhalten entsprechend der Wachstumsdynamik der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Ermöglicht das Wachstum des Hotpoint-Split-Verhaltens entsprechend der Wachstumsdynamik der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitRetrieveHintTableScanForward |
Wenn festgelegt, gibt der Client an, dass der sequenzielle Forward-Scan das vorherrschende Verwendungsmuster dieser Tabelle ist. |
JET_bitRetrieveHintTableScanBackward |
Wenn festgelegt, gibt der Client an, dass die sequenzielle Rückwärtsüberprüfung das vorherrschende Verwendungsmuster dieser Tabelle ist. |
JET_bitDeleteHintTableSequential |
Wenn festgelegt, erwartet die Anwendung, dass diese Tabelle in sequenzieller Reihenfolge bereinigt wird, vom niedrigsten Schlüssel zum höchsten Schlüssel. |
ulMaintDensity
density to mulMaintDensity
Dichte, die beibehalten werden soll. Wenn die Leerzeichenhinweise JET_bitRetrieveHintTableScanForward oder JET_bitRetrieveHintTableScanBackward angeben, wird die Tabellendefragmentierung ausgelöst, wenn der verwendete Speicherplatz in der Tabelle unter diesen Schwellenwert fällt. Die Tabellendefragmentierung kann deaktiviert werden, indem Sie dieses Element auf 0 festlegen. Wenn Sie diesen Member auf 100 festlegen, wird die Tabellendefragmentierung ausgeführt, sobald eine Seite freigegeben wird.
ulGrowth
Das prozentuale Wachstum von der letzten Wachstums- oder Anfangsgröße, gerundet auf die nächste native JET-Zuordnungsgröße.
cbMinExtent zu klein
Dadurch wird ulGrowth außer Kraft gesetzt, wenn es zu klein ist.
cbMaxExtent
Der maximale Wert für das Wachstum in Bytes. Dies ist ulGrowth.
Wenn eine b-Struktur durch Anfüge- oder Hotpoint-Splits wächst (im Gegensatz zu zufälligen Datensatzeinfügungen), wird der Raum, um den die Tabelle wächst, wie folgt berechnet:
Bei der Erstellung geben wir dem b-Tree cbInitial, immer.
Bei der ersten Zuordnung eines bestimmten Bereichs weisen wir Folgendes zu: cbInitial * ulGrowth / 100 (gerundet auf die Seitengröße der DATENBANK) oder cbMinExtent, wenn größer.
Bei der nächsten Zuordnung cbLastAlloc * ulGrowth / 100 (gerundet auf die Seitengröße der Datenbank) oder cbMinExtent, wenn größer.
Bei einer Zuordnung (dies könnte die erste Zuordnung sein) überschreitet die berechnete Größe cbMaxExtent, und das ist dann die Wachstumsgröße.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |