Bagikan melalui


Struktur JET_SPACEHINTS

Berlaku untuk: Windows | Windows Server

Struktur JET_SPACEHINTS

Struktur JET_SPACEHINTS berisi informasi tentang pola alokasi ruang ketika pohon b tumbuh melalui pemisahan tambahan atau titik panas. Menambahkan pemisahan terjadi ketika rekaman ditambahkan ke akhir pemisahan pohon b dan titik panas terjadi ketika beberapa rekaman ditambahkan ke titik penyisipan virtual yang sama (misalnya, menambahkan 'Marie', 'Mark', 'Martin', 'Mary' ke tengah pohon b yang diurutkan menurut abjad).

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

Anggota

cbStruct

Ukuran, dalam byte, dari struktur ini. Atur anggota ini ke sizeof( JET_SPACEHINTS ).

ulInitialDensity

Kepadatan pada tata letak (tambahkan).

cbInitial

Ukuran awal (dalam byte) objek yang sedang dibuat. Ini harus berupa kelipatan ukuran halaman database.

grbit

Sekelompok bit yang berisi opsi yang akan digunakan untuk struktur ini, yang mencakup nol atau lebih dari berikut ini.

Nilai

Makna

JET_bitSpaceHintsUtilizeParentSpace
0x00000001

Mengubah kebijakan alokasi internal untuk mendapatkan ruang secara heirarkis dari induk langsung pohon b.

JET_bitCreateHintAppendSequential
0x00000002

Memungkinkan penambahan perilaku pemisahan untuk tumbuh sesuai dengan dinamika pertumbuhan tabel (ditetapkan oleh cbMinExtent, ulGrowth, cbMaxExtent).

JET_bitCreateHintHotpointSequential
0x00000004

Memungkinkan perilaku pemisahan titik panas tumbuh sesuai dengan dinamika pertumbuhan tabel (diatur oleh cbMinExtent, ulGrowth, cbMaxExtent).

JET_bitRetrieveHintTableScanForward
0x00000010

Jika diatur, klien menunjukkan bahwa pemindaian berurutan maju adalah pola penggunaan yang dominan dari tabel ini.

JET_bitRetrieveHintTableScanBackward
0x00000020

Jika diatur, klien menunjukkan bahwa pemindaian berurutan mundur adalah pola penggunaan yang dominan dari tabel ini.

JET_bitDeleteHintTableSequential
0x00000100

Jika diatur, aplikasi mengharapkan tabel ini dibersihkan secara berurutan, dari kunci terendah hingga kunci tertinggi.

ulMaintDensity

kepadatan ke mulMaintDensity

Kepadatan untuk dipertahankan. Jika petunjuk spasi menentukan JET_bitRetrieveHintTableScanForward atau JET_bitRetrieveHintTableScanBackward, defragmentasi tabel akan dipicu saat ruang yang digunakan dalam tabel turun di bawah ambang batas ini. Defragmentasi tabel dapat dinonaktifkan dengan mengatur anggota ini ke nol. Mengatur anggota ini ke 100 akan menyebabkan defragmentasi tabel berjalan segera setelah halaman dikosongkan.

ulGrowth

Persentase pertumbuhan dari pertumbuhan terakhir atau ukuran awal, dibulatkan ke ukuran alokasi JET asli terdekat.

cbMinExtent terlalu kecil

Ini mengambil alih ulGrowth jika terlalu kecil.

cbMaxExtent

Nilai maksimum untuk pertumbuhan byte. Ini menutupi ulGrowth.

Ketika pohon b tumbuh melalui penambalan atau titik panas terbagi (dibandingkan dengan penyisipan rekaman acak), jumlah ruang yang akan ditumbuhkan tabel dihitung sebagai berikut:

  1. Saat penciptaan, kami memberikan b-tree cbInitial, selalu.

  2. Selama alokasi pertama area tertentu, kami akan mengalokasikan: cbInitial * ulGrowth / 100 (dibulatkan ke ukuran halaman DB), atau cbMinExtent jika lebih besar.

  3. Selama alokasi berikutnya, cbLastAlloc * ulGrowth / 100 (dibulatkan ke ukuran halaman DB), atau cbMinExtent jika lebih besar.

  4. Pada beberapa alokasi (yang bisa menjadi alokasi pertama), ukuran yang dihitung akan melebihi cbMaxExtent, dan itu akan menjadi ukuran pertumbuhan setelahnya.

Persyaratan

Persyaratan Nilai

Klien

Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional.

Server

Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server.

Header

Dinyatakan dalam Esent.h.

Lihat juga

JET_TABLECREATE2
JET_TABLECREATE3