Estrutura JET_SPACEHINTS
Aplica-se a: Windows | Windows Server
Estrutura JET_SPACEHINTS
A estrutura JET_SPACEHINTS contém informações sobre padrões de alocação de espaço quando uma árvore b cresce por meio de divisões de ponto de acesso ou acréscimo. As divisões de acréscimo ocorrem quando os registros são adicionados ao final de uma árvore b e as divisões de ponto quente acontecem quando vários registros são adicionados ao mesmo ponto de inserção virtual (por exemplo, adicionando 'Marie', 'Mark', 'Martin', 'Mary' ao meio de uma árvore b que é classificada em ordem alfabética).
Windows 7: A estrutura JET_SPACEHINTS é introduzida no 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;
Membros
Cbstruct
O tamanho, em bytes, dessa estrutura. Defina esse membro como sizeof( JET_SPACEHINTS ).
ulInitialDensity
A densidade no layout (acréscimo).
cbInitial
O tamanho inicial (em bytes) do objeto que está sendo criado. Deve ser um múltiplo do tamanho da página do banco de dados.
grbit
Um grupo de bits que contém as opções a serem usadas para essa estrutura, que incluem zero ou mais dos seguintes.
Valor |
Significado |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
Altera a política de alocação interna para obter espaço na herdeira do pai imediato de uma árvore B. |
JET_bitCreateHintAppendSequential |
Permite que o comportamento de divisão de acréscimo cresça de acordo com a dinâmica de crescimento da tabela (definida por cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitCreateHintHotpointSequential |
Permite que o comportamento de divisão de ponto quente cresça de acordo com a dinâmica de crescimento da tabela (definida por cbMinExtent, ulGrowth, cbMaxExtent). |
JET_bitRetrieveHintTableScanForward |
Se definido, o cliente indica que a verificação sequencial de encaminhamento é o padrão de uso predominante dessa tabela. |
JET_bitRetrieveHintTableScanBackward |
Se definido, o cliente indica que a verificação sequencial anterior é o padrão de uso predominante dessa tabela. |
JET_bitDeleteHintTableSequential |
Se definido, o aplicativo espera que essa tabela seja limpa em ordem sequencial, da chave mais baixa para a chave mais alta. |
ulMaintDensity
densidade para mulMaintDensity
Densidade a ser mantida em. Se as dicas de espaço especificarem JET_bitRetrieveHintTableScanForward ou JET_bitRetrieveHintTableScanBackward, a desfragmentação de tabela será disparada quando o espaço usado na tabela ficar abaixo desse limite. A desfragmentação de tabela pode ser desabilitada definindo esse membro como zero. Definir esse membro como 100 fará com que a desfragmentação da tabela seja executada assim que uma página for liberada.
ulGrowth
O crescimento percentual do último crescimento ou tamanho inicial, arredondado para o tamanho de alocação nativo mais próximo do JET.
cbMinExtent muito pequeno
Isso substitui ulGrowth se muito pequeno.
cbMaxExtent
O valor máximo para o crescimento em bytes. Isso limita ulGrowth.
Quando uma árvore b cresce por meio de divisões de acréscimo ou ponto quente (em vez de inserções aleatórias de registro), a quantidade de espaço pelo qual a tabela crescerá é calculada da seguinte maneira:
Na criação, damos sempre o cbInitial da árvore b.
Durante a primeira alocação de uma determinada área, alocaremos: cbInitial * ulGrowth / 100 (arredondado para o tamanho da página do banco de dados) ou cbMinExtent, se maior.
Durante a próxima alocação, cbLastAlloc * ulGrowth / 100 (arredondado para o tamanho da página do BD) ou cbMinExtent, se maior.
Em alguma alocação (que pode ser a primeira alocação), o tamanho calculado excederá cbMaxExtent e esse será o tamanho de crescimento posteriormente.
Requisitos
Requisito | Valor |
---|---|
Cliente |
Requer Windows Vista, Windows XP ou Windows 2000 Professional. |
Servidor |
Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server. |
Cabeçalho |
Declarado em Esent.h. |