SQL Server - Bagaimana halaman data disimpan saat menggunakan indeks berkerumun

13

Baru-baru ini saya mendengar bahwa halaman data dalam indeks berkerumun tidak disimpan secara bersamaan. Apakah ini benar?

Mungkin halaman data biasanya disimpan secara bersamaan dengan beberapa pengecualian pada aturan? Atau mungkin saya salah dengar dan halaman data selalu disimpan secara bersebelahan.

Terimakasih banyak.

Kacang
sumber
1
Books Online telah memiliki diagram yang cukup bagus yang menunjukkan bagaimana halaman disimpan secara fisik dan bagaimana pohon B disusun.
mrdenny

Jawaban:

11

Halaman data disimpan secara berdekatan ketika indeks dibuat dan ketika indeks dibangun kembali. Jika tidak, SQL Server akan berusaha menjaga agar halaman tetap dalam urutan fisik. Itu tidak mungkin, perintah logis dicoba. Anda bisa mendapatkan celah dalam tabel karena penulisan lain yang terjadi di database. SQL Server menggunakan pohon B + untuk indeks - tingkat daun (data) indeks berisi data tetapi juga merupakan daftar tertaut ganda yang berisi pointer ke halaman berikutnya dan sebelumnya. Ini membuatnya kurang penting bahwa tabel 100% bersebelahan secara fisik.

Jeremiah Peschka
sumber