JET_SPACEHINTS Struktur
Gilt für: Windows | Windows Server
JET_SPACEHINTS Struktur
Die JET_SPACEHINTS enthält Informationen zu Speicherbelegungsmustern, wenn eine B-Struktur durch Anfüge- oder Hotpointaufteilungen wächst. Anfügeteilungen werden ausgeführt, wenn Datensätze am Ende einer B-Struktur hinzugefügt werden und Hotpointteilungen ausgeführt werden, wenn der gleichen virtuellen Einfügemarke mehrere Datensätze hinzugefügt werden (z. B. hinzufügen von "Sollen", "Mark", "Martin", "Mary" zur Mitte einer alphabetisch sortierten B-Struktur).
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 am Layout (Anfügen).
cbInitial
Die Anfangsgröße (in Bytes) des objekts, das erstellt wird. 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, die null oder mehr der folgenden Elemente enthalten.
Wert |
Bedeutung |
|---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Ändert die interne Zuordnungsrichtlinie, um platzsymlogisch vom unmittelbar übergeordneten Element einer B-Struktur zu erhalten. |
JET_bitCreateHintAppendSequential |
Ermöglicht das Anfügeteilungsverhalten entsprechend der Wachstums dynamics der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Ermöglicht, dass das Hotpoint-Teilungsverhalten entsprechend der Wachstums dynamics der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent) wächst. |
JET_bitRetrieveHintTableScanForward |
Wenn festgelegt, gibt der Client an, dass die sequenzielle Vorwärtsprüfung das vorherrschende Verwendungsmuster dieser Tabelle ist. |
JET_bitRetrieveHintTableScanBackward |
Wenn festgelegt, gibt der Client an, dass die sequenzielle Abwärtsprü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, bei der verwaltet werden soll. Wenn die Leerzeichen 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 dieser Member auf 0 (null) gesetzt wird. Wenn Sie diesen Member auf 100 festlegen, wird die Tabellendefragmentierung ausgeführt, sobald eine Seite frei wird.
ulGrowth
Das Prozentwachstum vom letzten Wachstum oder der anfänglichen Größe, gerundet auf die nächste native JET-Zuordnungsgröße.
cbMinExtent zu klein
Dadurch wird ulGrowth überschrieben, wenn es zu klein ist.
cbMaxExtent
Der maximale Wert für das Wachstum in Bytes. Dies ist die Obergrenze von ulGrowth.
Wenn eine B-Struktur durch Anfüge- oder Hotpointteilungen wächst (im Gegensatz zu zufälligen Datensatzeinfügungen), wird der Speicherplatz, um den die Tabelle wächst, wie folgt berechnet:
Bei der Erstellung geben wir die b-Struktur cbInitial immer an.
Bei der ersten Zuordnung eines bestimmten Bereichs weisen wir zu: cbInitial ulGrowth / 100 (gerundet auf die Seitengröße der Datenbank) oder * cbMinExtent, falls größer.
Bei der nächsten Zuordnung cbLastAlloc ulGrowth /100 (gerundet auf die Seitengröße der Datenbank) oder * cbMinExtent, falls größer.
Bei einigen Zuordnungen (dies kann die erste Zuordnung sein) überschreitet die berechnete Größe cbMaxExtent, und dies ist die größe danach.
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. |
Header |
Wird in Esent.h deklariert. |