Kümelenmiş bir dizin kullanılırken veri sayfaları nasıl depolanır


13

Kısa süre önce, kümelenmiş bir dizindeki veri sayfalarının bitişik olarak saklanmadığını duydum. Bu doğru mu?

Belki de veri sayfaları normalde kuralın bazı istisnaları dışında bitişik olarak saklanır? Ya da belki yanlış duydum ve veri sayfası her zaman bitişik olarak saklanıyor.

Çok teşekkürler.


1
Çevrimiçi Kitaplar, sayfaların fiziksel olarak nasıl depolandığını ve B ağacının nasıl düzenlendiğini gösteren oldukça iyi diyagramlar geldi.
mrdenny

Yanıtlar:


11

Veri sayfaları, dizin oluşturulduğunda ve dizin yeniden oluşturulduğunda bitişik olarak saklanır. Aksi takdirde, SQL Server sayfaları fiziksel sırada tutmaya çalışır. Bu mümkün değil, mantıksal düzen denenir. Veritabanında gerçekleşen diğer yazma işlemleri nedeniyle tablodaki boşlukları alabilirsiniz. SQL Server, dizinler için B + ağaçları kullanır - dizinin yaprak (veri) düzeyi verileri içerir, ancak sonraki ve önceki sayfalara işaretçiler içeren çift bağlantılı bir listedir. Bu, tablonun fiziksel olarak% 100 bitişik olmasını daha az önemli hale getirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.