Поделиться через


Практическое руководство. Сортировка данных в кластеризованном индексе

Обновлен: Ноябрь 2007

При создании или изменении кластеризованного индекса в базе данных Microsoft SQL Server устанавливается параметр, который определяет, когда должна быть выполнена сортировка данных в индексе. Данные можно отсортировать при создании индекса или позже, в процессе реорганизации данных фрагментированной таблицы. Сведения о причинах фрагментации таблицы и рекомендуемых решениях см. в теме "DBCC CHECKDB" в SQL Server Books Online.

Сортировка данных при создании индекса всегда выполняется быстрее, поскольку для нее не требуется выполнять копирование данных или повторное построение некластеризованных индексов.

wfwa2w3a.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Для изменения параметров в меню Сервис выберите команду Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Чтобы отсортировать значения индекса

  1. В обозревателе сервера щелкните правой кнопкой мыши таблицу, содержащую значения индекса, которые требуется отсортировать, и выберите в контекстном меню пункт Открыть определение таблицы.

  2. Выберите в контекстном меню пункт Индексы и ключи.

  3. Выберите индекс в раскрывающемся списке Выбранный индекс.

  4. Убедитесь, что выбран параметр Создать как кластерный.

  5. При использовании SQL Server 6.5 станут доступны параметры сортировки. Выберите один из следующих параметров:

    Параметр

    Действие

    Сортировка данных

    Этот параметр выбран по умолчанию. Сортировка данных при создании индекса.

    Данные уже отсортированы

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

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

    Дополнительные сведения о коэффициентах заполнения см. в разделе Установка коэффициента заполнения для индекса.

    Реорганизовать отсортированные данные

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

    wfwa2w3a.alert_note(ru-ru,VS.90).gifПримечание.

    При выборе параметра Данные уже отсортированы создается кластеризованный индекс с параметром SORTED_DATA. При выборе параметра Реорганизовать отсортированные данные создается кластеризованный индекс с параметром SORTED_DATA_REORG. Если при выборе одного из параметров одна из строк не пройдет проверку, создание индекса при попытке сохранить таблицу завершится неудачей. В этом случае можно исправить данные или выбрать параметр Сортировка данных.

  6. Нажмите кнопку Закрыть.

См. также

Ссылки

Свойства индекса

Диалоговое окно "Индексы/Ключи"

Другие ресурсы

Работа с индексами