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
0x00000001

Ändert die interne Zuordnungsrichtlinie, um platzsymlogisch vom unmittelbar übergeordneten Element einer B-Struktur zu erhalten.

JET_bitCreateHintAppendSequential
0x00000002

Ermöglicht das Anfügeteilungsverhalten entsprechend der Wachstums dynamics der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent).

JET_bitCreateHintHotpointSequential
0x00000004

Ermöglicht, dass das Hotpoint-Teilungsverhalten entsprechend der Wachstums dynamics der Tabelle (festgelegt durch cbMinExtent, ulGrowth, cbMaxExtent) wächst.

JET_bitRetrieveHintTableScanForward
0x00000010

Wenn festgelegt, gibt der Client an, dass die sequenzielle Vorwärtsprüfung das vorherrschende Verwendungsmuster dieser Tabelle ist.

JET_bitRetrieveHintTableScanBackward
0x00000020

Wenn festgelegt, gibt der Client an, dass die sequenzielle Abwärtsprüfung das vorherrschende Verwendungsmuster dieser Tabelle ist.

JET_bitDeleteHintTableSequential
0x00000100

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:

  1. Bei der Erstellung geben wir die b-Struktur cbInitial immer an.

  2. 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.

  3. Bei der nächsten Zuordnung cbLastAlloc ulGrowth /100 (gerundet auf die Seitengröße der Datenbank) oder * cbMinExtent, falls größer.

  4. 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.

Weitere Informationen

JET_TABLECREATE2
JET_TABLECREATE3