Bagikan melalui


Struktur JET_OPENTEMPORARYTABLE

Berlaku untuk: Windows | Windows Server

Struktur JET_OPENTEMPORARYTABLE

Struktur JET_OPENTEMPORARYTABLE berisi kumpulan parameter yang mudah diperluas untuk fungsi JET_OPENTEMPORARYTABLE . Struktur ini adalah tabel sementara yang setara dengan struktur JET_TABLECREATE .

Windows Vista: Struktur JET_OPENTEMPORARYTABLE diperkenalkan di 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;

Anggota

cbStruct

Ukuran struktur ini dalam byte (untuk ekspansi di masa depan). Ini harus diatur ke sizeof( JET_TABLECREATE ) dalam byte.

prgcolumndef

Definisi kolom untuk kolom yang dibuat dalam tabel sementara.

Batasan penting ada untuk opsi definisi kolom yang digunakan dengan tabel sementara. Lihat bagian Keterangan untuk informasi selengkapnya.

Selain opsi definisi kolom biasa, nol atau beberapa opsi berikut juga dapat ditentukan yang hanya relevan dalam konteks tabel sementara.

Nilai

Makna

JET_bitColumnTTDescending

Urutan pengurutan kolom kunci untuk tabel sementara harus turun daripada naik. Jika opsi ini ditentukan tanpa JET_bitColumnTTKey maka opsi ini diabaikan.

JET_bitColumnTTKey

Kolom akan menjadi kolom kunci untuk tabel sementara.

Urutan definisi kolom dengan opsi ini yang ditentukan dalam array input akan menentukan prioritas setiap kolom kunci untuk tabel sementara. Definisi kolom pertama dalam array yang memiliki set opsi ini akan menjadi kolom kunci yang paling signifikan dan sebagainya. Jika lebih banyak kolom kunci diminta daripada yang dapat didukung oleh mesin database, maka opsi ini diabaikan untuk kolom kunci yang tidak didukung.

ccolumn

Lihat prgcolumndef.

pidxunicode

ID lokal dan bendera normalisasi yang digunakan untuk membandingkan data kolom kunci Unicode dalam tabel sementara.

Ketika parameter ini tidak ada dan ketika parameter lcid tidak ada, maka LCID default akan digunakan untuk membandingkan kolom kunci Unicode apa pun dalam tabel sementara. LCID default adalah lokal Inggris A.S.

Ketika parameter ini tidak ada, maka bendera normalisasi default akan digunakan untuk membandingkan data kolom kunci Unicode dalam tabel sementara. Bendera normalisasi default adalah: NORM_IGNORECASE, NORM_IGNOREKANATYPE, dan NORM_IGNOREWIDTH.

grbit

Sekelompok bit yang menentukan nol atau beberapa opsi berikut.

Nilai

Makna

JET_bitTTIndexed

Opsi ini meminta agar tabel sementara cukup fleksibel untuk mengizinkan penggunaan JetSeek untuk mencari rekaman berdasarkan kunci indeks.

Jika fungsionalitas ini tidak diperlukan, sebaiknya jangan memintanya. Jika fungsionalitas ini tidak diminta, manajer tabel sementara mungkin dapat memilih strategi untuk mengelola tabel sementara yang akan menghasilkan peningkatan performa.

JET_bitTTUnique

Permintaan yang merekam dengan kunci indeks duplikat dihapus dari kumpulan rekaman akhir dalam tabel sementara.

Sebelum Windows Server 2003, mesin database selalu mengasumsikan opsi ini berlaku karena fakta bahwa semua indeks berkluster juga harus menjadi kunci utama dan dengan demikian harus unik. Pada Windows Server 2003, sekarang dimungkinkan untuk membuat tabel sementara yang tidak menghapus duplikat ketika opsi JET_bitTTForwardOnly juga ditentukan.

Tidak mungkin untuk mengetahui duplikat mana yang akan berhasil dan duplikat mana yang akan dibuang, secara umum. Namun, ketika opsi JET_bitTTErrorOnDuplicateInsertion diminta maka rekaman pertama dengan kunci indeks tertentu untuk dimasukkan ke dalam tabel sementara akan selalu berhasil.

JET_bitTTUpdatable

Meminta agar tabel sementara cukup fleksibel untuk memungkinkan rekaman yang sebelumnya telah disisipkan untuk kemudian diubah. Jika fungsionalitas ini tidak diperlukan, sebaiknya jangan memintanya.

Jika fungsionalitas ini tidak diminta, manajer tabel sementara mungkin dapat memilih strategi untuk mengelola tabel sementara yang akan menghasilkan peningkatan performa.

JET_bitTTScrollable

Meminta agar tabel sementara cukup fleksibel untuk memungkinkan rekaman dipindai dalam urutan dan arah arbitrer menggunakan JetMove.

Jika fungsionalitas ini tidak diperlukan, sebaiknya jangan memintanya. Jika fungsionalitas ini tidak diminta, manajer tabel sementara mungkin dapat memilih strategi untuk mengelola tabel sementara yang akan menghasilkan peningkatan performa.

JET_bitTTSortNullsHigh

Permintaan agar nilai kolom kunci NULL mengurutkan lebih dekat ke akhir indeks daripada nilai kolom kunci non-NULL.

JET_bitTTForceMaterialization

Memaksa manajer tabel sementara untuk meninggalkan pencarian strategi terbaik untuk menggunakan pengelolaan tabel sementara yang akan menghasilkan peningkatan performa.

JET_bitTTErrorOnDuplicateInsertion

Setiap upaya untuk menyisipkan rekaman dengan kunci indeks yang sama dengan rekaman yang disisipkan sebelumnya akan segera gagal dengan JET_errKeyDuplicate. Jika opsi ini tidak diminta maka duplikat segera terdeteksi dan gagal, atau dihapus secara diam-diam nanti, tergantung pada strategi yang dipilih oleh mesin database untuk mengimplementasikan tabel sementara, berdasarkan fungsionalitas yang diminta.

Jika fungsionalitas ini tidak diperlukan, sebaiknya jangan memintanya. Jika fungsionalitas ini tidak diminta, manajer tabel sementara mungkin dapat memilih strategi untuk mengelola tabel sementara yang akan menghasilkan peningkatan performa.

JET_bitTTForwardOnly

Tabel sementara hanya dibuat jika manajer tabel sementara dapat menggunakan implementasi yang dioptimalkan untuk hasil kueri menengah. Jika ada karakteristik tabel sementara yang akan mencegah penggunaan pengoptimalan ini maka operasi akan gagal dengan JET_errCannotMaterializeForwardOnlySort.

Efek samping dari opsi ini adalah memungkinkan tabel sementara berisi rekaman dengan kunci indeks duplikat. Lihat JET_bitTTUnique untuk informasi selengkapnya.

Windows Server 2003: Opsi ini hanya tersedia pada rilis Windows Server 2003 dan yang lebih baru.

prgcolumnid

Buffer output yang menerima array ID kolom yang dihasilkan selama pembuatan tabel sementara.

ID kolom dalam array ini akan sama persis dengan array input definisi kolom. Akibatnya, ukuran buffer ini harus sesuai dengan ukuran array input.

cbKeyMost

Ukuran maksimum untuk kunci yang mewakili baris tertentu.

Ukuran kunci maksimum dapat diatur untuk mengontrol bagaimana kunci dipotong. Pemotongan kunci penting karena dapat memengaruhi kapan baris dianggap berbeda.

Jika parameter ini diatur ke 0 atau JET_cbKeyMostMin (255) maka ukuran kunci maksimum dan semantiknya akan tetap identik dengan ukuran kunci maksimum yang didukung oleh Windows Server 2003 dan rilis sebelumnya. Parameter ini juga dapat diatur ke nilai yang lebih besar sebagai fungsi dari ukuran halaman database untuk instans (JET_paramDatabasePageSize). Lihat JET_paramKeyMost untuk informasi selengkapnya.

cbVarSegMac

Jumlah maksimum data yang akan digunakan dari kolom panjang variabel apa pun untuk membuat kunci untuk baris tertentu.

Parameter ini dapat digunakan untuk mengontrol jumlah ruang kunci yang digunakan oleh kolom kunci tertentu. Batas ini dalam byte. Jika parameter ini nol atau sama dengan parameter cbKeyMost , maka tidak ada batas yang berlaku.

tableid

Handel tabel untuk tabel sementara yang dibuat sebagai hasil dari panggilan yang berhasil ke JetOpenTemporaryTable.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista.

Server

Memerlukan Windows Server 2008.

Header

Dinyatakan dalam Esent.h.

Lihat juga

JET_TABLECREATE
JET_COLUMNDEF
JET_UNICODEINDEX
JET_GRBIT
JET_COLUMNID
JET_TABLEID
JetOpenTemporaryTable
Parameter Sistem Mesin Penyimpanan yang Dapat Diperluas