Практическое руководство. Сортировка данных в кластеризованном индексе
При создании или изменении кластеризованного индекса в базе данных Microsoft SQL Server устанавливается параметр, который определяет, когда должна быть выполнена сортировка данных в индексе.Данные можно отсортировать при создании индекса или позже, в процессе реорганизации данных фрагментированной таблицы.Сведения о причинах фрагментации таблицы и рекомендуемых решениях см. в теме "DBCC CHECKDB" в SQL Server Books Online.
Сортировка данных при создании индекса всегда выполняется быстрее, поскольку для нее не требуется выполнять копирование данных или повторное построение некластеризованных индексов.
Примечание |
---|
Новая версия конструктора таблиц отображается для баз данных в формате SQL Server 2012. В этом разделе описывается старая версия конструктора таблиц, которая используется с базами данных в более ранних форматах SQL Server. В новой версии определение таблицы можно изменить через графический интерфейс или непосредственно в области скриптов. Если вы используется графический интерфейс, определение таблицы автоматически обновляется в области скриптов. Чтобы применить код SQL в области скриптов, нажмите кнопку Обновить. Дополнительные сведения о новой версии см. в разделе Как создавать объекты базы данных с помощью конструктора таблиц. |
Примечание |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Чтобы отсортировать значения индекса
В обозревателе сервера щелкните правой кнопкой мыши таблицу, содержащую значения индекса, которые требуется отсортировать, и выберите в контекстном меню пункт Открыть определение таблицы.
Выберите в контекстном меню пункт Индексы и ключи.
Выберите индекс в раскрывающемся списке Выбранный индекс.
Убедитесь, что выбран параметр Создать как кластерный.
При использовании SQL Server 6.5 станут доступны параметры сортировки. Выберите один из следующих параметров:
Параметр
Действие
Сортировка данных
Этот параметр выбран по умолчанию.Сортировка данных при создании индекса.
Данные уже отсортированы
Отменяет сортировку, выполняемую при создании кластеризованного индекса, а также проверяет наличие отсортированных данных, сравнивая каждое из значений индекса с предыдущим и определяя, какое из этих значений больше.Если одна из строк не пройдет проверку, создание индекса при попытке сохранить таблицу завершится неудачей.
Если данные пройдут эту проверку, использование этого параметра позволит повысить скорость работы по сравнению с параметром Реорганизовать отсортированные данные, поскольку в данном случае не выполняется копирование данных и воссоздание некластеризованных индексов.Этот параметр полезен, если задан коэффициент заполнения, поскольку он позволяет уменьшить или увеличить размер страниц, где хранится таблица.
Дополнительные сведения о коэффициентах заполнения см. в разделе Установка коэффициента заполнения для индекса.
Реорганизовать отсортированные данные
Действие схоже с действием параметра Данные уже отсортированы за тем исключением, что при установке данного параметра действия выполняются медленнее, поскольку ведется копирование данных и воссоздание некластеризованных индексов.Реорганизация данных рекомендуется, если таблица фрагментирована и нужно повторно отсортировать значения индекса.
Примечание При выборе параметра Данные уже отсортированы создается кластеризованный индекс с параметром SORTED_DATA.При выборе параметра Реорганизовать отсортированные данные создается кластеризованный индекс с параметром SORTED_DATA_REORG.Если при выборе одного из параметров одна из строк не пройдет проверку, создание индекса при попытке сохранить таблицу завершится неудачей.В этом случае можно исправить данные или выбрать параметр Сортировка данных.
Нажмите кнопку Закрыть.
См. также
Ссылки
Диалоговое окно "Индексы/Ключи"