estructura de JET_SPACEHINTS
Se aplica a: Windows | Windows Server
estructura de JET_SPACEHINTS
La estructura de JET_SPACEHINTS contiene información sobre los patrones de asignación de espacio cuando un árbol b crece a través de divisiones de anexión o punto de acceso frecuente. Las divisiones de anexión se producen cuando se agregan registros al final de un árbol b y las divisiones de punto de acceso frecuente se producen cuando se agregan varios registros al mismo punto de inserción virtual (por ejemplo, agregando "Marie", "Mark", "Martin", "Mary" al medio de un árbol b ordenado alfabéticamente).
Windows 7: La estructura JET_SPACEHINTS se introduce en 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;
Miembros
cbStruct
Tamaño, en bytes, de esta estructura. Establezca este miembro en sizeof( JET_SPACEHINTS ).
ulInitialDensity
Densidad en el diseño (anexar).
cbInitial
Tamaño inicial (en bytes) del objeto que se va a crear. Debe ser un múltiplo del tamaño de página de la base de datos.
grbit
Un grupo de bits que contienen las opciones que se van a usar para esta estructura, que incluyen cero o más de lo siguiente.
Valor |
Significado |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Cambia la directiva de asignación interna para obtener el espacio heredero de forma jerárquica del elemento primario inmediato de un árbol b. |
JET_bitCreateHintAppendSequential |
Permite que el comportamiento de división de anexión crezca según la dinámica de crecimiento de la tabla (establecida por cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Permite que el comportamiento de división de puntos de acceso frecuente crezca según la dinámica de crecimiento de la tabla (establecida por cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitRetrieveHintTableScanForward |
Si se establece, el cliente indica que el examen secuencial reenviado es el patrón de uso predominante de esta tabla. |
JET_bitRetrieveHintTableScanBackward |
Si se establece, el cliente indica que el examen secuencial hacia atrás es el patrón de uso predominante de esta tabla. |
JET_bitDeleteHintTableSequential |
Si se establece, la aplicación espera que esta tabla se limpie en orden secuencial, de la clave más baja a la clave más alta. |
ulMaintDensity
densidad a mulMaintDensity
Densidad en la que se mantiene. Si las sugerencias de espacio especifican JET_bitRetrieveHintTableScanForward o JET_bitRetrieveHintTableScanBackward, se desencadenará la desfragmentación de tablas cuando el espacio usado en la tabla caiga por debajo de este umbral. La desfragmentación de tablas se puede deshabilitar estableciendo este miembro en cero. Si se establece este miembro en 100, la desfragmentación de la tabla se ejecutará en cuanto se libere una página.
ulGrowth
El porcentaje de crecimiento del último crecimiento o tamaño inicial, redondeado al tamaño de asignación JET nativo más cercano.
cbMinExtent demasiado pequeño
Esto invalida ulGrowth si es demasiado pequeño.
cbMaxExtent
Valor máximo para el crecimiento en bytes. Esto tapa ulGrowth.
Cuando un árbol b crece a través de divisiones de punto de acceso frecuente o anexado (en lugar de inserciones de registros aleatorios), la cantidad de espacio que aumentará la tabla se calcula de la siguiente manera:
En la creación, damos al árbol b cbInitial, siempre.
Durante la primera asignación de un área determinada, asignaremos: cbInitial * ulGrowth / 100 (redondeado al tamaño de página de la base de datos) o cbMinExtent si es mayor.
Durante la siguiente asignación, cbLastAlloc * ulGrowth / 100 (redondeado al tamaño de página de la base de datos) o cbMinExtent si es mayor.
En alguna asignación (que podría ser la primera asignación), el tamaño calculado superará cbMaxExtent y que será el tamaño de crecimiento a partir de entonces.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |