Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Sequential guid как первичный ключ и fill factor  [new]
Spinifex
Member

Откуда:
Сообщений: 55
Коллеги,
Есть база и данные в ней. В качестве первичного ключа используется sequential guid. Какой оптимальный fill factor в этом случае? Или нельзя однозначно ответить? Насколько я понимаю sequentil guid возрастающий, так что вставок в середину таблицы не будет. Следовательно можно ставить 100? Сейчас стоит 80 и 90 в разных таблицах.
Подскажите также аналогично не для кластерного индекса. Какой там fill factor лучше ставить?
13 июл 17, 20:47    [20642389]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Spinifex,

5 Things About Fillfactor
Tracking Problematic Pages Splits in SQL Server 2012 Extended Events – No Really This Time!
13 июл 17, 22:54    [20642619]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
Spinifex
Member

Откуда:
Сообщений: 55
Mind,

Спасибо за интересные ссылки.
Вот если исходить из этой информации для меня все равно не понятна ситуация именно с seqential guid. Как он себя ведет? Конечно можно было бы провести серию экспериментов, но я подумал что быстрее и достовернее будет спросить на форуме. :)
14 июл 17, 05:32    [20642814]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Spinifex,

ну вы же понимаете, что fillfactor только на момент перестройки индексов
14 июл 17, 06:00    [20642823]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
iii2
Member

Откуда:
Сообщений: 202
Ну, sequential guid монотонно возрастает до момента перезапуска сервера. Потом - может быть любым. Но опять может монотонно возрастать.
Где то читал, что вероятность того, что в результате этого какие-нибудь значения будут последовательно вставляться между парами предыдущих значений (как зубья двух расчесок, вложенных друг в друга) - крайне мала.
Вывод: Ставьте филфактор 100 - и не парьтесь.
14 июл 17, 08:26    [20642922]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
iii2
Member

Откуда:
Сообщений: 202
iii2
Ну, sequential guid монотонно возрастает до момента перезапуска сервера. Потом - может быть любым. Но опять может монотонно возрастать.
Где то читал, что вероятность того, что в результате этого какие-нибудь значения будут последовательно вставляться между парами предыдущих значений (как зубья двух расчесок, вложенных друг в друга) - крайне мала.
Вывод: Ставьте филфактор 100 - и не парьтесь.

* должен монотонно возрастать, извините.
14 июл 17, 08:26    [20642924]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
Spinifex
Member

Откуда:
Сообщений: 55
iii2,

Круто! Так и думал... Для некластерных индексов по такому guid. не прокатит. Верно?
14 июл 17, 08:55    [20642974]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Spinifex,

автор
Для некластерных индексов по такому guid. не прокатит. Верно?
что куда прокатит?
14 июл 17, 08:56    [20642978]     Ответить | Цитировать Сообщить модератору
 Re: Sequential guid как первичный ключ и fill factor  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Spinifex
Для некластерных индексов по такому guid. не прокатит. Верно?
Рассматривайте этот Sequential guid как identity int
Никакой разницы, кроме того, что guid в 4 раза больше.
Можно делать и кластерный индекс, и тем более некластерный.
14 июл 17, 09:18    [20643047]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить