Показать сообщение отдельно
Старый 19.07.2011, 12:04   #29  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Если у тебя стоит FillFactor не равный 100, то есть большие шансы что подходящая страница будет найдена до просмотра всех страниц с данным ключем. Особенно если у нас индекс обновлялся и страницы малость фрагментированы и свободное место есть. При этом вероятность сплита (из за того что единственная нужная нам страница была на 100% заполнена и пришлось ее сплитить), в моем случае заметно меньше (потому что больше шансов найти страничку со свободным местом). А сплит страниц - штука трудоемкая. В максимально плохом случае может понадобится куда больше чм 34 страницы прочитать и прописать.

А еще - можно меня долго агитировать за советскую власть, но я тебе не поверю пока ты мне не расскажешь, как обеспечивается сортировка по RID данных для страниц ненулевого уровня Вот если у меня есть 10000 записей и 34 страницы с данным ключем, как мне при чтении страницы первого (то есть - первого не листового уровня) понять - в какую из листовых страниц мне вставлять очередную запись? То есть - правило железное: Если ты хочешь сортировать дерево по какому-то признаку, ты должен включить этот признак в ключ. Соответственно - для случая сортировки по RID страницы данных, нам надо этот RID включить в ключ данных и тащить на нелистовые страницы... Судя по тому, что я читал об индексах в SQL Server,в страницы 1ого и более высоких уровней, ключи кластерного индекса/RID данных не тянутся...