4

Я идентифицировал несколько столбцов Identity в базе данных, которые установлены на 80 или 90%. Я хочу установить их всех на 100%.Влияет ли изменение коэффициента заполнения на столбец Identity на Merge Replication?

Кто-нибудь знает, может ли возникнуть проблема при изменении коэффициента заполнения в столбце идентификации с использованием Merge Replication?

ответ

1

FillFactor вводится в изображение только при восстановлении индекса, оставив процент свободного места без использования установки FillFactor.

С репликацией Merge изменения в обоих источниках отслеживаются через триггеры, и они сохраняются в синхронизации.

Когда вы устанавливаете fillfactor на 80%, 20% пространства может быть использовано для вставок. Если вы установите 100%, вы не оставите места, у вас есть шанс разделить страницы. Page splits are very expensiv e в терминах log growth.so есть шанс, что ваши вставки будут медленнее.

Но с идентификационным столбцом все значения будут увеличиваться, поэтому они будут логически добавлены в конец страницы. Таким образом, значение 0 или 100 должно повысить производительность. Но фактор заполнения влияет только на ваши страницы уровня листа и что, если вы обновляете какие-либо из строки, которые могут привести размер превышать общую длину page..Here что MSDN говорит по этому делу

, отличный от нуля коэффициент заполнения, кроме 0 или 100 может быть хорошо для производительности если новые данные будут равномерно распределены по всей таблице. Однако, если все данные добавлены в конец таблицы, пустое пространство на страницах индекса не будет заполнено. Например, если столбец индексного ключа является столбцом IDENTITY, ключ для новых строк всегда увеличивается, а строки индекса логически добавляются в конец индекса. Если существующие строки будут обновлены данными, которые удлиняют размер строк, используйте коэффициент заполнения менее 100. Дополнительные байты на каждой странице помогут минимизировать разбиение страниц, вызванное дополнительной длиной в строках.

Установка Хорошего значения FILLFACTOR зависит от того, как база данных used..Heavy Вставка (свободнее должно быть там, и значение FILLFACTOR должно быть меньше, но выбирает будет какой-то, что дорогостоящая) .less вставки (оставить заполнения фактор в каком-то высоком значении)

простых выходы поиска так много results .Но вы должны проверить их первыми и адаптировать его к вашему сценарию

+0

Хорошее объяснение фактора Заливка и это заставить меня думать о предстоящих изменениях, где мы будем делать нечетные числа на издателя и даже номера на абонента. В этом случае я считаю, что я бы оставил фактор заполнения около 90 или 80 процентов, чтобы начать. Благодаря! – Paul

1

FILLFACTOR в основном используются для индексации.

Поскольку вы хотите изменить коэффициент заполнения для 100.Its означает, что вам нужно удалить и заново создать индекс для таблиц слияния с FILLFACTOR 100.

И если в вашей репликации слияния «Копировать кластерный Индекс» и „Copy Non кластерного индекс“ является ИСТИНА Для всех свойств статьи, то, как только вы воссоздавать Index на издателе, он будет также получить реплицировать на другом абоненте.

Итак, если у вас есть большие таблицы слияния с индексом, я бы порекомендовал его реализовать во время offhours, потому что для создания индекса потребуется время для репликации на абонента.

+0

Отлично! Это то, что я искал. Я подумал, что нужно что-то сделать, но у меня нет рук для этой ситуации. Благодаря! – Paul

1

Вы также можете проверить коэффициент заполнения по этому запросу. Да, но, как сказал @Ragesh, всякий раз, когда мы меняем коэффициент заполнения (Replication), это будет влиять на производительность.

Fill Factor напрямую связан с индексами. Каждый раз, когда мы все здесь называем «Индекс», мы напрямую связываем его с производительностью. Индекс повышает производительность - это правда, но есть еще несколько вариантов вместе с ним.

SELECT * 
FROM sys.configurations 
WHERE name ='fill factor (%)' 

Вот хорошая статья и объяснение вашего запроса.

http://sqlmag.com/blog/what-fill-factor-index-fill-factor-and-performance-part-1

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9ef72506-f1b0-4700-b836-851e9871d0a6/merge-table-indexes-fill-factor?forum=sqlreplication

Смежные вопросы