JET_SPACEHINTS 구조체
적용 대상: Windows | Windows Server
JET_SPACEHINTS 구조체
JET_SPACEHINTS 구조에는 추가 또는 핫포인트 분할을 통해 b-트리가 증가할 때 공간 할당 패턴에 대한 정보가 포함됩니다. 추가 분할은 레코드가 b-트리의 끝에 추가되고 핫포인트 분할이 여러 레코드가 동일한 가상 삽입 지점에 추가될 때 발생합니다(예: 사전순으로 정렬된 b-트리의 중간에 'Marie', 'Mark', 'Martin', 'Mary'를 추가).
Windows 7:JET_SPACEHINTS 구조는 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;
멤버
cbStruct
이 구조체의 크기(바이트)입니다. 이 멤버를 sizeof( JET_SPACEHINTS )로 설정합니다.
ulInitialDensity
(추가) 레이아웃의 밀도입니다.
cbInitial
생성되는 개체의 초기 크기(바이트)입니다. 데이터베이스 페이지 크기의 배수여야 합니다.
grbit
다음 중 0개 이상을 포함하는 이 구조체에 사용할 옵션이 포함된 비트 그룹입니다.
값 |
의미 |
---|---|
JET_bitSpaceHintsUtilizeParentSpace |
내부 할당 정책을 변경하여 b-트리의 직계 부모로부터 공간을 상속적으로 가져옵니다. |
JET_bitCreateHintAppendSequential |
테이블의 성장 역학에 따라 추가 분할 동작이 증가할 수 있도록 합니다(cbMinExtent, ulGrowth, cbMaxExtent로 설정). |
JET_bitCreateHintHotpointSequential |
핫포인트 분할 동작이 테이블의 성장 역학에 따라 증가할 수 있도록 합니다(cbMinExtent, ulGrowth, cbMaxExtent로 설정). |
JET_bitRetrieveHintTableScanForward |
설정된 경우 클라이언트는 정방향 순차적 검사가 이 테이블의 주요 사용 패턴임을 나타냅니다. |
JET_bitRetrieveHintTableScanBackward |
설정된 경우 클라이언트는 이전 순차적 검사가 이 테이블의 주요 사용 패턴임을 나타냅니다. |
JET_bitDeleteHintTableSequential |
설정된 경우 애플리케이션은 이 테이블이 가장 낮은 키에서 가장 높은 키까지 순차적으로 정리될 것으로 예상합니다. |
ulMaintDensity
mulMaintDensity에 대한 밀도
유지 관리할 밀도입니다. 공간 힌트가 JET_bitRetrieveHintTableScanForward 또는 JET_bitRetrieveHintTableScanBackward 지정하는 경우 테이블의 사용된 공간이 이 임계값 아래로 떨어지면 테이블 조각 모음이 트리거됩니다. 이 멤버를 0으로 설정하여 테이블 조각 모음을 사용하지 않도록 설정할 수 있습니다. 이 멤버를 100으로 설정하면 페이지가 해제되는 즉시 테이블 조각 모음이 실행됩니다.
ulGrowth
가장 가까운 네이티브 JET 할당 크기로 반올림된 마지막 성장 또는 초기 크기에서의 증가율입니다.
cbMinExtent가 너무 작음
너무 작으면 ulGrowth를 재정의합니다.
cbMaxExtent
증가에 대한 최대값(바이트)입니다. 이 대문자 ulGrowth.
추가 또는 핫포인트 분할을 통해 b 트리가 커지면(임의 레코드 삽입이 아니라) 테이블이 증가하는 공간의 양은 다음과 같이 계산됩니다.
만들 때 항상 b-tree cbInitial을 제공합니다.
지정된 영역의 첫 번째 할당 중에 cbInitial * ulGrowth /100(DB의 페이지 크기로 반올림됨) 또는 cbMinExtent(큰 경우)를 할당합니다.
다음 할당 중에 cbLastAlloc * ulGrowth/100(DB의 페이지 크기로 반올림됨) 또는 cbMinExtent(큰 경우).
일부 할당(첫 번째 할당일 수 있음)에서 계산된 크기는 cbMaxExtent를 초과하며 그 이후의 증가 크기가 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |