коэффициент заполнения SQL Server 2008 - PullRequest
3 голосов
/ 11 июля 2009

Я новичок в SQL Server 2008, коэффициент заполнения, как упомянуто здесь в SQL Server 2008 BOL,

http://msdn.microsoft.com/en-us/library/ms177459.aspx

Мои 2 путаницы,

  1. Применим ли коэффициент заполнения к странице индекса? Или относится как к индексу, так и к странице данных? Вначале кажется, что коэффициент заполнения применяется только к странице индекса - «Опция коэффициента заполнения предназначена для точной настройки хранения и производительности данных индекса», но в конце упоминается - «Если существующие строки будут обновлены с помощью Данные, которые удлиняют размер строк, используют коэффициент заполнения менее 100. Дополнительные байты на каждой странице помогут минимизировать разбиения страниц, вызванные дополнительной длиной строк. ". Есть комментарии?

  2. Влияет ли коэффициент заполнения только на операцию перестроения индекса / создания индекса (только перестроение / создание индекса будет использовать свободное пространство, зарезервированное коэффициентом заполнения) или применяется к любой операции вставки / обновления (любая операция вставки / обновления использовать свободное место, зарезервированное по коэффициенту заполнения)?

спасибо заранее, George

Ответы [ 2 ]

8 голосов
/ 11 июля 2009

FILLFACTOR применяется только к индексным страницам. Но выгода здесь в том, что если у вас есть кластеризованный индекс (а большинство таблиц есть), ваш FILLFACTOR будет в основном применяться и к вашим данным, поскольку ваши данные живут внутри конечных узлов вашего кластерного индекса. По сути, если у вас действительно таблица только для чтения, установите FILLFACTOR равным 100 для всех ее индексов. Это даст вам наименьшую и самую быструю таблицу для любой заданной структуры индекса. Имейте в виду, что если вы установите FILLFACTOR на 100 для индексов данных, которые будут изменены, вы настраиваете себя на разделение страниц и, возможно, снижение производительности.

FILLFACTOR, который установлен слишком высоко, может повлиять на производительность операций вставки / обновления. Вы получите разделение страниц, когда вы измените достаточно данных. Это является частью внутренней структуры индекса B-дерева - оно автоматически балансирует дерево. Если вы хотите настроить FILLFACTOR на явное значение, BOL говорит, что это вступит в силу только при перестройке индекса.

0 голосов
/ 18 апреля 2017

Коэффициент заполнения дает информацию о том, сколько места доступно на странице SQL, которая по умолчанию составляет 8 КБ. Например. Предположим, что FF = 20%, что означает, что 100-20 = 80% пространства заполнено. Значение по умолчанию Коэффициент заполнения равно 100, 100-100 = 0% заполненного пространства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...