Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Значение по умолчанию 0 также указывает на то, что страница листа индекса будет заполнена полностью и каждая промежуточная страница содержит место для одной записи.

Читайте также:
  1. A) контроль качества получаемой проектно-сметной документации, а также качества поступающих материалов, деталей и конструкций;
  2. Bed house 1 страница
  3. Bed house 10 страница
  4. Bed house 11 страница
  5. Bed house 12 страница
  6. Bed house 13 страница
  7. Bed house 14 страница

Если установить значение опции fillfactor в значение между 1 и 99, тоновая индексная структура будет создана со страницами листьев, которые не будут заполнены полностью. Чем больше значение fillfactor, тем меньше объем памяти, который остается свободным на индексной странице. Например, установка опции fillfactor в значение 60 означает, что 40% на каждой странице листа индекса остается свободным для дальнейшего добавления строк индекса. (Индексная строка будет добавлена, когда выполняется либо оператор insert, либо оператор update.) По этой причине значение 60 будет разумным решением для таблиц с довольно частым изменением данных.

Разумный выбор значения коэффициента заполнения уменьшает количество операций разбиения страниц, при этом добавление данных в базовую таблицу происходит за счет выделения дополнительного пространства для расширения индекса.

В большинстве случаев рекомендуется принимать значение по умолчанию, равное 0. Когда коэффициент заполнения имеет значение 0, конечный уровень полностью заполнен.

 

При добавлении новой строки на полностью заполненную страницу компонент Database Engine перемещает половину имеющихся на ней данных на новую страницу, таким образом освобождая пространство для новой строки. Такая реорганизация называется разбиением страницы. Операция разбиения страницы позволяет выделить пространство для размещения новых записей, однако является ресурсоемкой и может выполняться длительное время.

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

Например, при указании для коэффициента заполнения значения 80 на каждой странице конечного уровня будет зарезервировано 20 процентов занимаемого ею дискового пространства. Данное дисковое пространство будет использовано для расширения индекса при добавлении в базовую таблицу новых данных. Пустое место резервируется не в конце страницы, а между строками индекса каждой страницы.

Хотя низкое значение коэффициента заполнения (отличное от 0) может снизить необходимость в разбиении страниц при расширении индекса, для его хранения требуется больший объем памяти, что приводит к снижению производительности.

Даже для приложений, ориентированных на выполнение множества операций вставки и обновления, количество операций считывания обычно в 5 — 10 раз превышает количество операций записи. Поэтому при задании значения коэффициента заполнения, отличного от значения по умолчанию, производительность операций считывания снижается обратно пропорционально значению коэффициента заполнения. Например, значение коэффициента заполнения, равное 50, может снизить производительность операций чтения в два раза. Производительность операций чтения снижается из-за того, что в индексе содержится большее количество страниц, что увеличивает количество операций ввода-вывода, проводимых для извлечения данных.

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


Дата добавления: 2015-08-05; просмотров: 56 | Нарушение авторских прав


Читайте в этой же книге: Каждая страница индекса называется индексной страницей, или узлом индекса. Структура индекса начинается на верхнем уровне с корневого узла. | Поскольку в кластеризованном индексе хранятся реальные данные, то нельзя создать более одного кластеризованного индекса по таблице. | Если существует кластеризованный индекс, то закладка некластеризованного индекса указывает на структуру В-дерева кластеризованного индекса таблицы. |
<== предыдущая страница | следующая страница ==>
Полнотекстовые индексы.| Развитие коммунальной техники

mybiblioteka.su - 2015-2024 год. (0.006 сек.)