Стили сортировки в параметрах сортировки Windows

В процессе установки SQL Server выдается запрос на выбор между параметрами сортировки Windows и двоичными параметрами сортировки. Выбор параметров сортировки влияет на поведение конкретного экземпляра Microsoft SQL Server при сравнении данных и сортировке. В данном разделе приводятся соображения по выбору между параметрами сортировки Microsoft Windows и двоичными параметрами сортировки для конкретной конфигурации SQL Server.

ms143515.note(ru-ru,SQL.90).gifПримечание.
Для параметров сортировки Windows типы данных Юникода nchar, nvarchar и ntext ведут себя при сортировке аналогично не поддерживающим Юникод типам данных — char, varchar и text.

Параметры сортировки Windows определяют правила хранения символьных данных на основе соответствующего языкового стандарта Windows. Базовые правила параметров сортировки Windows задают алфавит или язык, используемый при сортировке по словарю, а также кодовую страницу, используемую для хранения символьных данных не в Юникоде. В двоичных параметрах сортировки данные сортируются на основе последовательности закодированных значений, определяемых языковым стандартом и типом данных. Двоичные параметры сортировки в SQL Server определяют языковой стандарт и используемую кодовую страницу ANSI, применяя двоичный порядок сортировки. Двоичные параметры сортировки полезно применять для повышения производительности приложений вследствие относительной простоты. Для типов данных не в Юникоде сравнение данных производится на основе элементов кода, определенных кодовой страницей ANSI. Типы данных в Юникоде сравниваются на основе элементов кода Юникода. Для двоичных параметров сортировки на основе типов данных Юникода при сортировке данных языковой стандарт не учитывается. Например, параметры сортировки Latin_1_General_BIN и Japanese_BIN дают одинаковые результаты сортировки, если используются с данными в Юникоде.

В прежних двоичных параметрах сортировки в SQL Server для данных в Юникоде выполнялось неполное сравнение элементов кода, при этом первый символ сравнивался как тип WCHAR, после чего производилось побайтовое сравнение. В целях обратной совместимости семантика существующих двоичных параметров сортировки изменяться не будет.

Двоичные параметры сортировки в этой версии SQL Server включают также новый набор параметров сортировки с использованием сравнения только элементов кода. Пользователям доступна возможность миграции на новые двоичные параметры сортировки для получения преимущества реального сравнения элементов кода. При разработке новых приложений рекомендуется использовать новые двоичные параметры сортировки. Новым суффиксом BIN2 определяются имена наборов параметров сортировки, реализующих новую семантику параметров сортировки элементов кода. Кроме того, добавлен новый флаг сравнения, соответствующий BIN2 для новой двоичной сортировки. Дополнительные сведения см. в разделе Использование двоичных параметров сортировки.

В следующей таблице описаны свойства параметров сортировки Windows при сортировке в SQL Server 2005.

Порядок сортировки (суффикс) Описание порядка сортировки

Двоичный (_BIN)1

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

Если данный параметр не выбран, в SQL Server применяются правила сортировки и сравнения, определенные в словарях соответствующего языка или алфавита.

Элемент двоичного кода (_BIN2)1

Данные в SQL Server сортируются и сравниваются на основе элементов Юникода для данных в Юникоде. Для типов данных не в Юникоде при выборе BIN2 сравнение производится так же, как и двоичная сортировка.

Преимуществом использования порядка сортировки BIN2 является то, что приложениям, сравнивающим отсортированные данные SQL Server, не требуется никакой повторной сортировки данных. В результате сортировка BIN2 упрощает разработку приложения и увеличивает ожидаемую производительность. Дополнительные сведения см. в разделе Использование двоичных параметров сортировки.

С учетом регистра (_CS)

Различаются буквы верхнего и нижнего регистров. При выборе этого параметра буквы нижнего регистра при сортировке ставятся перед соответствующими буквами верхнего регистра.

Если этот параметр не выбран, при сортировке в SQL Server буквы верхнего и нижнего регистров считаются идентичными.

С учетом диакритических знаков (_AS)

Различаются символы с диакритическими знаками и без них. Например, «a» не равно «ấ».

Если этот параметр не выбран, при сортировке в SQL Server буквы с диакритическими знаками и без них считаются идентичными.

С учетом типа японской азбуки (_KS)

Различаются два вида японской азбуки: хирагана и катакана.

Если этот параметр не выбран, при сортировке в SQL Server символы хирагана и катакана считаются идентичными.

С учетом ширины символов (_WS)

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

Если этот параметр не выбран, при сортировке в SQL Server однобайтовые и двухбайтовые представления одних и тех же символов считаются идентичными.

1 Если параметр выбран, параметры учета регистра, диакритических знаков, типа японской азбуки и ширины символов недоступны.

Примеры параметров сортировки в Windows

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

Суффикс набора параметров сортировки Windows Описание порядка сортировки

_BIN1

Двоичная сортировка.

_BIN21

Двоичный порядок сортировки BIN2, впервые представленный в версии SQL Server 2005.

_CI_AI

Без учета регистра, без учета диакритических знаков, без учета типа японской азбуки, без учета ширины символов.

_CI_AI_KS

Без учета регистра, без учета диакритических знаков, с учетом типа японской азбуки, без учета ширины символов.

_CI_AI_KS_WS

Без учета регистра, без учета диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов.

_CI_AI_WS

Без учета регистра, без учета диакритических знаков, без учета типа японской азбуки, с учетом ширины символов.

_CI_AS

Без учета регистра, с учетом диакритических знаков, без учета типа японской азбуки, без учета ширины символов.

_CI_AS_KS

Без учета регистра, с учетом диакритических знаков, с учетом типа японской азбуки, без учета ширины символов.

_CI_AS_KS_WS

Без учета регистра, с учетом диакритических знаков, с учетом типа японской азбуки, с учетом ширины символов.

_CI_AS_WS

Без учета регистра, с учетом диакритических знаков, без учета типа японской азбуки, с учетом ширины символов.

_CS_AI

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

_CS_AI_KS

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

_CS_AI_KS_WS

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

_CS_AI_WS

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

_CS_AS

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

_CS_AS_KS

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

_CS_AS_KS_WS

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

_CS_AS_WS

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

1 Если выбран порядок сортировки BIN или BIN2, параметры учета регистра, диакритических знаков, типа японской азбуки и ширины символов недоступны.

См. также

Справочник

Настройка параметров сортировки в программе установки

Основные понятия

Использование двоичных параметров сортировки

Справка и поддержка

Получение помощи по SQL Server 2005