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

내부 할당 정책을 변경하여 b-트리의 직계 부모로부터 공간을 상속적으로 가져옵니다.

JET_bitCreateHintAppendSequential
0x00000002

테이블의 성장 역학에 따라 추가 분할 동작이 증가할 수 있도록 합니다(cbMinExtent, ulGrowth, cbMaxExtent로 설정).

JET_bitCreateHintHotpointSequential
0x00000004

핫포인트 분할 동작이 테이블의 성장 역학에 따라 증가할 수 있도록 합니다(cbMinExtent, ulGrowth, cbMaxExtent로 설정).

JET_bitRetrieveHintTableScanForward
0x00000010

설정된 경우 클라이언트는 정방향 순차적 검사가 이 테이블의 주요 사용 패턴임을 나타냅니다.

JET_bitRetrieveHintTableScanBackward
0x00000020

설정된 경우 클라이언트는 이전 순차적 검사가 이 테이블의 주요 사용 패턴임을 나타냅니다.

JET_bitDeleteHintTableSequential
0x00000100

설정된 경우 애플리케이션은 이 테이블이 가장 낮은 키에서 가장 높은 키까지 순차적으로 정리될 것으로 예상합니다.

ulMaintDensity

mulMaintDensity에 대한 밀도

유지 관리할 밀도입니다. 공간 힌트가 JET_bitRetrieveHintTableScanForward 또는 JET_bitRetrieveHintTableScanBackward 지정하는 경우 테이블의 사용된 공간이 이 임계값 아래로 떨어지면 테이블 조각 모음이 트리거됩니다. 이 멤버를 0으로 설정하여 테이블 조각 모음을 사용하지 않도록 설정할 수 있습니다. 이 멤버를 100으로 설정하면 페이지가 해제되는 즉시 테이블 조각 모음이 실행됩니다.

ulGrowth

가장 가까운 네이티브 JET 할당 크기로 반올림된 마지막 성장 또는 초기 크기에서의 증가율입니다.

cbMinExtent가 너무 작음

너무 작으면 ulGrowth를 재정의합니다.

cbMaxExtent

증가에 대한 최대값(바이트)입니다. 이 대문자 ulGrowth.

추가 또는 핫포인트 분할을 통해 b 트리가 커지면(임의 레코드 삽입이 아니라) 테이블이 증가하는 공간의 양은 다음과 같이 계산됩니다.

  1. 만들 때 항상 b-tree cbInitial을 제공합니다.

  2. 지정된 영역의 첫 번째 할당 중에 cbInitial * ulGrowth /100(DB의 페이지 크기로 반올림됨) 또는 cbMinExtent(큰 경우)를 할당합니다.

  3. 다음 할당 중에 cbLastAlloc * ulGrowth/100(DB의 페이지 크기로 반올림됨) 또는 cbMinExtent(큰 경우).

  4. 일부 할당(첫 번째 할당일 수 있음)에서 계산된 크기는 cbMaxExtent를 초과하며 그 이후의 증가 크기가 됩니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

Esent.h에서 선언되었습니다.

참고 항목

JET_TABLECREATE2
JET_TABLECREATE3