Niedawno usłyszałem, że strony danych w indeksie klastrowym nie są przechowywane w sposób ciągły. Czy to prawda?
Być może strony danych są zwykle przechowywane w sposób ciągły, z pewnymi wyjątkami od reguły? A może źle słyszałem, a strona danych jest zawsze przechowywana w sposób ciągły.
Wielkie dzięki.
sql-server
data-pages
clustered-index
Arachid
źródło
źródło
Odpowiedzi:
Strony danych są przechowywane w sposób ciągły, gdy indeks jest tworzony i gdy indeks jest przebudowywany. W przeciwnym razie SQL Server będzie próbował utrzymać strony w fizycznej kolejności. To nie jest możliwe, próbuje się uporządkować logicznie. Możesz dostać luki w tabeli z powodu innych zapisów, które mają miejsce w bazie danych. SQL Server używa drzew B + do indeksów - poziom liścia (danych) indeksu zawiera dane, ale jest także podwójnie połączoną listą, która zawiera wskaźniki do następnej i poprzedniej strony. To sprawia, że mniej ważne jest, aby stół był w 100% fizycznie ciągły.
źródło