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
확장 가능한 스토리지 엔진 시스템 매개 변수