![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Некластерные индексы являются наиболее типичными представителями семейства индексов. В отличие от кластерных, они не перестраивают физическую структуру таблицы, а лишь организуют ссылки на соответствующие строки.
Для идентификации нужной строки в таблице некластерный индекс организует специальные указатели (row locator). Эти указатели содержат информацию об идентификационном номере фата (ID file), в котором хранится строка, а также об идентификационном номере страницы и номере искомой строки на этой странице. Если же в таблице определен кластерный индекс, то указатель ссылается не на физическое положение строки в базе данных, а на соответствующий элемент кластерного индекса, описывающего эту строку. Это позволяет не перестраивать структуру некластерных индексов всякий раз, когда кластерный индекс меняет физический порядок строк в таблице. Изменяется только кластерный индекс, а некластерные индексы обновляют только индексируемое значение, но не указатель.
Если при построении некластерного индекса кластерный индекс был не уникален, то SQL Server автоматически добавляет к нему дополнительные значения, которые делают его уникальным. Для пользователя эти дополнительные значения не видны, и он может работать с кластерным индексом как обычно.
В одной таблице можно определить до 249 некластерных индексов. Однако в большинстве случаев следует ограничиться 4-5 индексами.
Дата публикования: 2014-11-28; Прочитано: 483 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!