JET_SPACEHINTS Structure
S’applique à : Windows | Windows Server
JET_SPACEHINTS Structure
La structure JET_SPACEHINTS contient des informations sur les modèles d’allocation d’espace lorsqu’une arborescence b croît par le biais de fractionnements d’ajouts ou de points chauds. Les fractionnements d’ajout se produisent lorsque des enregistrements sont ajoutés à la fin d’un arbre b et des fractionnements de points chauds se produisent lorsque plusieurs enregistrements sont ajoutés au même point d’insertion virtuel (par exemple, en ajoutant « Marie », « Mark », « Martin », « Mary » au milieu d’un arbre b trié par ordre alphabétique).
Windows 7 : La structure JET_SPACEHINTS est introduite dans Windows 7.
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;
Membres
cbStruct
Taille, en octets, de cette structure. Définissez ce membre sur sizeof( JET_SPACEHINTS ).
ulInitialDensity
Densité au niveau de la disposition (ajout).
cbInitial
Taille initiale (en octets) de l’objet en cours de création. Il doit s’agir d’un multiple de la taille de la page de base de données.
grbit
Groupe de bits qui contiennent les options à utiliser pour cette structure, qui incluent zéro ou plusieurs des éléments suivants.
Valeur |
Signification |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Modifie la stratégie d’allocation interne pour obtenir l’espace de manière héritarchique à partir du parent immédiat d’un arbre b. |
JET_bitCreateHintAppendSequential |
Permet au comportement de fractionnement d’ajout de croître en fonction de la dynamique de croissance de la table (définie par cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Permet au comportement de fractionnement des points chauds de croître en fonction de la dynamique de croissance de la table (définie par cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitRetrieveHintTableScanForward |
S’il est défini, le client indique que l’analyse séquentielle vers l’avant est le modèle d’utilisation prédominant de cette table. |
JET_bitRetrieveHintTableScanBackward |
S’il est défini, le client indique que l’analyse séquentielle vers l’arrière est le modèle d’utilisation prédominant de cette table. |
JET_bitDeleteHintTableSequential |
Si elle est définie, l’application s’attend à ce que cette table soit nettoyée dans l’ordre séquentiel, de la clé la plus basse à la clé la plus élevée. |
ulMaintDensity
densité en mulMaintDensity
Densité à maintenir à. Si les indicateurs d’espace spécifient JET_bitRetrieveHintTableScanForward ou JET_bitRetrieveHintTableScanBackward, la défragmentation de table est déclenchée lorsque l’espace utilisé dans la table passe en dessous de ce seuil. La défragmentation de table peut être désactivée en définissant ce membre sur zéro. La définition de ce membre sur 100 entraîne l’exécution de la défragmentation de table dès qu’une page est libérée.
ulGrowth
Pourcentage de croissance par rapport à la dernière croissance ou à la taille initiale, arrondie à la taille d’allocation JET native la plus proche.
cbMinExtent trop petit
Cela remplace ulGrowth s’il est trop petit.
cbMaxExtent
Valeur maximale pour la croissance en octets. Ce capuchon ulGrowth.
Lorsqu’un arbre b croît par le biais de fractionnements d’ajout ou de points chauds (par opposition aux insertions d’enregistrements aléatoires), la quantité d’espace de la table augmente est calculée comme suit :
À la création, nous donnons le b-tree cbInitial, toujours.
Lors de la première allocation d’une zone donnée, nous allons allouer : cbInitial * ulGrowth / 100 (arrondi à la taille de page de la base de données), ou cbMinExtent si elle est plus grande.
Lors de l’allocation suivante, cbLastAlloc * ulGrowth / 100 (arrondi à la taille de page de la base de données) ou cbMinExtent si elle est plus grande.
À une certaine allocation (qui peut être la première allocation), la taille calculée dépasse cbMaxExtent, et il s’agira de la taille de croissance par la suite.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel. |
Serveur |
Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server. |
En-tête |
Déclaré dans Esent.h. |