다음을 통해 공유


JET_OPENTEMPORARYTABLE 구조체

적용 대상: Windows | Windows Server

JET_OPENTEMPORARYTABLE 구조체

JET_OPENTEMPORARYTABLE 구조에는 JET_OPENTEMPORARYTABLE 함수에 대한 매개 변수 컬렉션을 쉽게 확장할 수 있습니다. 이 구조체는 JET_TABLECREATE 구조에 해당하는 임시 테이블입니다.

Windows Vista:JET_OPENTEMPORARYTABLE 구조는 Windows Vista에 도입되었습니다.

    typedef struct tagJET_OPENTEMPORARYTABLE {
      unsigned long cbStruct;
      const JET_COLUMNDEF* prgcolumndef;
      unsigned long ccolumn;
      JET_UNICODEINDEX* pidxunicode;
      JET_GRBIT grbit;
      JET_COLUMNID* prgcolumnid;
      unsigned long cbKeyMost;
      unsigned long cbVarSegMac;
      JET_TABLEID tableid;
    } JET_OPENTEMPORARYTABLE;

멤버

cbStruct

이 구조체의 크기(향후 확장용)(바이트)입니다. sizeof( JET_TABLECREATE )(바이트)로 설정해야 합니다.

prgcolumndef

임시 테이블에서 만든 열에 대한 열 정의입니다.

임시 테이블과 함께 사용되는 열 정의 옵션에 대한 중요한 제한 사항이 있습니다. 자세한 내용은 설명 부분을 참조하세요.

일반적인 열 정의 옵션 외에도 임시 테이블의 컨텍스트에서만 관련된 다음 옵션 중 0개 이상을 지정할 수 있습니다.

의미

JET_bitColumnTTDescending

임시 테이블에 대한 키 열의 정렬 순서는 오름차순이 아니라 내림차순이어야 합니다. 이 옵션을 JET_bitColumnTTKey 없이 지정하면 이 옵션은 무시됩니다.

JET_bitColumnTTKey

열은 임시 테이블의 키 열이 됩니다.

입력 배열에 지정된 이 옵션을 사용하는 열 정의의 순서에 따라 임시 테이블에 대한 각 키 열의 우선 순위가 결정됩니다. 이 옵션 집합이 있는 배열의 첫 번째 열 정의는 가장 중요한 키 열이 됩니다. 데이터베이스 엔진에서 지원될 수 있는 것보다 더 많은 키 열이 요청되면 지원되지 않는 키 열에 대해 이 옵션이 무시됩니다.

ccolumn

prgcolumndef를 참조하세요.

pidxunicode

임시 테이블의 유니코드 키 열 데이터를 비교하는 데 사용할 로캘 ID 및 정규화 플래그입니다.

이 매개 변수가 없는 경우 lcid 매개 변수가 없는 경우 기본 LCID를 사용하여 임시 테이블의 유니코드 키 열을 비교합니다. 기본 LCID는 미국 영어 로캘입니다.

이 매개 변수가 없으면 기본 정규화 플래그를 사용하여 임시 테이블의 유니코드 키 열 데이터를 비교합니다. 기본 정규화 플래그는 NORM_IGNORECASE, NORM_IGNOREKANATYPE 및 NORM_IGNOREWIDTH.

grbit

다음 옵션 중 0개 이상을 지정하는 비트 그룹입니다.

의미

JET_bitTTIndexed

이 옵션은 임시 테이블이 JetSeek 을 사용하여 인덱스 키로 레코드를 조회할 수 있을 만큼 유연하도록 요청합니다.

이 기능이 필요하지 않은 경우 요청하지 않는 것이 가장 좋습니다. 이 기능이 요청되지 않은 경우 임시 테이블 관리자는 성능이 향상되는 임시 테이블을 관리하기 위한 전략을 선택할 수 있습니다.

JET_bitTTUnique

중복 인덱스 키가 있는 레코드를 임시 테이블의 마지막 레코드 집합에서 제거하도록 요청합니다.

Windows Server 2003 이전의 데이터베이스 엔진은 모든 클러스터형 인덱스도 기본 키여야 하므로 고유해야 하므로 항상 이 옵션이 적용되었다고 가정했습니다. 이제 Windows Server 2003을 기준으로 JET_bitTTForwardOnly 옵션도 지정할 때 중복 항목을 제거하지 않는 임시 테이블을 만들 수 있습니다.

일반적으로 어떤 중복이 성공하고 어떤 중복이 삭제될지 알 수 없습니다. 그러나 JET_bitTTErrorOnDuplicateInsertion 옵션이 요청되면 임시 테이블에 삽입할 지정된 인덱스 키가 있는 첫 번째 레코드가 항상 성공합니다.

JET_bitTTUpdatable

임시 테이블이 이전에 삽입된 레코드를 나중에 변경할 수 있을 만큼 유연하도록 요청합니다. 이 기능이 필요하지 않은 경우 요청하지 않는 것이 가장 좋습니다.

이 기능이 요청되지 않은 경우 임시 테이블 관리자는 성능이 향상되는 임시 테이블을 관리하기 위한 전략을 선택할 수 있습니다.

JET_bitTTScrollable

JetMove를 사용하여 임의 순서 및 방향으로 레코드를 검사할 수 있을 만큼 임시 테이블이 유연하도록 요청합니다.

이 기능이 필요하지 않은 경우 요청하지 않는 것이 가장 좋습니다. 이 기능이 요청되지 않은 경우 임시 테이블 관리자는 성능이 향상되는 임시 테이블을 관리하기 위한 전략을 선택할 수 있습니다.

JET_bitTTSortNullsHigh

NULL 키 열 값이 NULL 이 아닌 키 열 값보다 인덱스 끝에 더 가깝게 정렬하도록 요청합니다.

JET_bitTTForceMaterialization

임시 테이블 관리자가 성능 향상을 초래하는 임시 테이블 관리를 사용하는 최상의 전략에 대한 검색을 중단하도록 강제합니다.

JET_bitTTErrorOnDuplicateInsertion

이전에 삽입한 레코드와 동일한 인덱스 키를 사용하여 레코드를 삽입하려고 하면 JET_errKeyDuplicate 즉시 실패합니다. 이 옵션을 요청하지 않으면 요청된 기능에 따라 데이터베이스 엔진이 임시 테이블을 구현하기 위해 선택한 전략에 따라 중복이 즉시 검색되고 실패하거나 나중에 자동으로 제거됩니다.

이 기능이 필요하지 않은 경우 요청하지 않는 것이 가장 좋습니다. 이 기능이 요청되지 않은 경우 임시 테이블 관리자는 성능이 향상되는 임시 테이블을 관리하기 위한 전략을 선택할 수 있습니다.

JET_bitTTForwardOnly

임시 테이블 관리자가 중간 쿼리 결과에 최적화된 구현을 사용할 수 있는 경우에만 임시 테이블이 만들어집니다. 임시 테이블의 특성으로 인해 이 최적화를 사용할 수 없는 경우 JET_errCannotMaterializeForwardOnlySort 작업이 실패합니다.

이 옵션의 부작용은 임시 테이블에 중복 인덱스 키가 있는 레코드를 포함할 수 있도록 하는 것입니다. 자세한 내용은 JET_bitTTUnique 참조하세요.

Windows Server 2003: 이 옵션은 Windows Server 2003 이상 릴리스에서만 사용할 수 있습니다.

prgcolumnid

임시 테이블을 만드는 동안 생성된 열 ID의 배열을 수신하는 출력 버퍼입니다.

이 배열의 열 ID는 열 정의의 입력 배열과 정확히 일치합니다. 따라서 이 버퍼의 크기는 입력 배열의 크기에 해당해야 합니다.

cbKeyMost

지정된 행을 나타내는 키의 최대 크기입니다.

키가 잘리는 방법을 제어하도록 최대 키 크기를 설정할 수 있습니다. 키 잘림은 행이 고유하다고 간주될 때 영향을 줄 수 있으므로 중요합니다.

이 매개 변수가 0 또는 JET_cbKeyMostMin(255)로 설정된 경우 최대 키 크기와 해당 의미 체계는 Windows Server 2003 및 이전 릴리스에서 지원하는 최대 키 크기와 동일하게 유지됩니다. 이 매개 변수는 instance(JET_paramDatabasePageSize)에 대한 데이터베이스 페이지 크기의 함수로 더 큰 값으로 설정할 수도 있습니다. 자세한 내용은 JET_paramKeyMost 참조하세요.

cbVarSegMac

지정된 행에 대한 키를 생성하기 위해 가변 길이 열에서 사용할 최대 데이터 양입니다.

이 매개 변수는 지정된 키 열에서 사용하는 키 공간의 양을 제어하는 데 사용할 수 있습니다. 이 제한은 바이트 단위입니다. 이 매개 변수가 0이거나 cbKeyMost 매개 변수와 같으면 제한이 적용되지 않습니다.

tableid

JetOpenTemporaryTable을 성공적으로 호출한 결과로 만든 임시 테이블에 대한 테이블 핸들입니다.

요구 사항

요구 사항

클라이언트

Windows Vista가 필요합니다.

서버

Windows Server 2008이 필요합니다.

머리글

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

참고 항목

JET_TABLECREATE
JET_COLUMNDEF
JET_UNICODEINDEX
JET_GRBIT
JET_COLUMNID
JET_TABLEID
JetOpenTemporaryTable
확장 가능한 스토리지 엔진 시스템 매개 변수