Ponieważ dane bazy danych są zorganizowane na stronach 8-kilowych w drzewie B, a także w informacjach o PK, powinna istnieć możliwość obliczenia dla każdej tabeli w bazie danych wysokość B-drzewa. W ten sposób pokazując, ile skoków potrzeba, aby dotrzeć do pewnych danych.Wyszukiwanie wysokości drzewa B tabeli w SQL Server
Ponieważ rozmiar obu wierszy i wielkość PK mają ogromne znaczenie, trudno jest je obliczyć, ponieważ np. varchar(250)
nie musi zajmować 250 bajtów.
1) Czy istnieje sposób na usunięcie informacji z SQL Server? 2) jeśli nie, czy możliwe jest podanie przybliżonej wartości za pomocą kodu analizującego tabele bazy danych?
Czy ty w ogóle trzeba znać wysokość? Czy nie jest losowy dostęp w strukturze drzewa B * z grubsza * 'O (log n)' * niezależnie? – Yuck
Cóż, widziałem przykłady naprawdę dużych kluczy podstawowych, takich jak 2 x GUID + 2 int. Interesujące byłoby zobaczyć karę, ponieważ na każdej stronie indeksu może być zapisanych tak wiele kluczy, które mogą być przechowywane. –
Należy pamiętać, że tylko tabele z indeksami klastrowanymi są przechowywane jako drzewa B, jeśli nie ma żadnego indeksu klastrowanego, tabela jest przechowywana jako sterta. Tak więc naprawdę chcesz wiedzieć, jaka jest wysokość drzewa B dla indeksu klastrowego, a więc odpowiedź poniżej dla dm_db_index_physical_stats. –