Параметры сортировки SQL для параметров сортировки Windows сравнение

Переводы статьи Переводы статьи
Код статьи: 322112 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В Microsoft SQL Server 2000 и Microsoft SQL Server 2005 «параметры сортировки» указывает, как сравнивать и сортировать строк и знаков для данных не в Юникоде используется набор. SQL Server 2000 поддерживает два типа параметров сортировки:
  • Параметры сортировки SQL
  • Параметры сортировки Windows
Описание каждого типа сортировки и наглядное представление о том, как решить, какие параметры сортировки используется, см. в разделе «Выбор параметров сортировки» в электронной документации по SQL Server 2000 или приведены в разделе «Тип сортировки» в электронной документации по SQL Server 2005.

В данной статье рассматриваются дополнительные вопросы, которые могут повлиять на решение о выборе параметров сортировки Windows или параметры сортировки SQL, при установке SQL Server 2000 или SQL Server 2005.

Дополнительная информация

Семантику параметров сортировки

Для параметров сортировки Windows сравнение данных в формате Юникод реализуется с помощью того же алгоритма, как данные в кодировке Юникод. В Юникоде и не в Юникоде сортировки совместимы с правила сравнения строк в определенной версии Windows. Это обеспечивает согласованность типов данных в SQL Server. Он также позволяет разработчикам, использующим функцию Win32 API CompareString для сортировки строк в свои приложения с использованием тех же правил, которые использует SQL Server.

В параметры сортировки SQL SQL Server определяет семантику сравнения, отличную для данных не в Юникоде. SQL Server задает эту семантику сравнения на SQL «порядок сортировки». Сопоставление порядки сортировки, параметры сортировки SQL приведены в разделе «Имя параметров сортировки SQL» в электронной документации по SQL Server.

Параметры сортировки SQL правила сортировки для данных не в Юникоде несовместимы ни с какими процедурами сортировки, предоставляемыми операционной системой Microsoft Windows; Однако сортировка данных в Юникоде совместима с определенной версии Windows, правила сортировки. Так как правила сравнения для данных в Юникоде и не в Юникоде отличаются друг от друга, при использовании параметров сортировки SQL, можно увидеть различные результаты для сравнения те же символы в зависимости от базового типа данных. Например, при использовании параметров сортировки SQL «SQL_Latin1_General_CP1_CI_AS» строка Юникод «a-c» меньше, чем строка «ab» так как дефис ("-") сортируются как отдельный символ, который предшествует «b». Тем не менее, если же сравнения этих строк преобразование в Юникод, Юникод строку n ' c "считается больше, чем N'ab" из-за сортировки в Юникоде правила использования «Сортировка по словам», игнорирует дефис.

Строковое сравнение производительности

Правила сортировки Юникода более сложны, чем правила для порядка сортировки SQL, отличных от Юникода. Если SQL Server выполняется сравнение данных в формате Юникод, знаки присваиваются вес, который динамически изменяется на основе параметров сортировки языкового стандарта. Данные также изменяются параметры стиля, например, ширину, диакритические знаки или азбуки для сравнения. Процедуры сортировки Юникод поддерживает более разумно поведения сортировки как word сортировка.

Кроме того поскольку процедуры должен обрабатывать данные в кодировке Юникод, они достаточно гибки для сортировки и сравнения несколько тысяч различных знаков, а не более 255 знаков, которые может обрабатывать большинство порядках сортировки SQL Server. По этим причинам работы сравнения исходные строки, которая использует правила сортировки Юникода обычно дороже с точки зрения времени и ресурсов процессора, чем подобные сравнения строк, используется порядок сортировки SQL, отличных от Юникода.

Что это означает для возможных комбинаций типов данных и типов параметров сортировки в SQL Server:
  • Если хранение и обработка данных с типами данных в Юникоде usingnon (char, varchar, text) и используются параметры сортировки SQL, сравнения строк будет beperformed с порядком сортировки SQL, отличных от Юникода.
  • Если хранение и обработка данных с типами данных в Юникоде usingnon (char, varchar, text) и используются параметры сортировки Windows сравнение строк будет выполнена правил сортировки Юникода. Это может привести к определенным operationsthat, необычно зависят от производительности вступили несколько ЦП, чем подобные операции, выполняемой с SQLcollation больше времени использования andto сортировки строк.
  • При использовании типов данных Юникода (nchar, nvarchar, типа ntext) нет различия в поведении сортировки параметров сортировки Windows и SQL. Оба использует правила сортировки Юникода.
Как правило степень разница в производительности между Windows и параметрами сортировки SQL не будут значительные. Разница отображается только в том случае, если рабочая нагрузка ЦП, а не ограничены, ввода-вывода или скорость сети и большинство эту нагрузку ЦП вызвана издержки строками или операции сравнения, выполняемые в SQL Server. Пример приложения, где разница в производительности может быть заметно — это система, когда приложение передает длинное строковое значение SQL Server хранимые процедуры. Хранимая процедура затем анализирует строку через широкое использование функции обработки строк языка Transact-SQL как CHARINDEX и PATINDEX. Рабочая нагрузка — довольно одномерного массива, он определяется затратами на выполнение этой хранимой процедуры синтаксического анализа строки может быть заметна разница в производительности между параметрами сортировки Windows и параметры сортировки SQL. Однако Дизайн большинства приложений не приводит к ситуации, когда значительные разница в производительности.

Рекомендации

  1. Параметры сортировки SQL предоставляются для обратной совместимости версий SQL Server withearlier. Параметры сортировки Windows обеспечивают согласованность stringcomparisons для обоих Юникода и текст Юникод в SQL Server, arealso, согласованным со строковым сравнением в операционной системе Windows. ForAll этих причин параметры сортировки Windows является более предпочтительным, если нет backwardcompatibility проблемы или проблемы производительности отдельных, требующих SQLcollation.
  2. При использовании параметров сортировки SQL, основываясь только на theperformance характеристики параметров сортировки SQL, понять theperformance, что большинство приложений не существенно выиграть от сортировки changein. Убедитесь, что вы обнаружили запросы, позволяющие отображать параметры сортировки SQL froma льготы. Как определить затронутые запросы, рассмотрите альтернативы экран изменения в параметрах сортировки. Оба этих вариантов может улучшить производительность, больше, чем то, что вы увидите при изменении параметров сортировки экземпляра к параметрам сортировки SQL:
    1. Если трассируется нагрузку для параметров сортировки Windows для подпрограмм Transact-SQL, выполняющих явные строками или анализ, и при использовании типов данных не в Юникоде можно указать параметры сортировки SQL или двоичные параметры сортировки Windows для операции, выполняется часто и самый дорогой. Предположим, что функция PATINDEX для определения того, содержит ли столбец текста в таблице знак «x». Если принудительно параметры сортировки SQL для этой операции данное сравнение и продолжать использовать параметры сортировки Windows для остальной части приложения и базы данных, нет необходимости изменять параметры сортировки для всей системы:
      SELECT PATINDEX ('%x%', MemoFld COLLATE SQL_Latin1_General_Cp1_CI_AS) FROM ...
    2. Если трассируется нагрузку для параметров сортировки Windows для более привычных запросов, не использующих функции обработки сложных строк повышение индекса или запроса модели может предоставить dwarf те усовершенствования вы увидите, заменив параметры сортировки SQL. Запрос, который может быть выполнено с высокой избирательностью ищет на соответствующих индексов не будут незначительные изменения в строку сравнения затрат с учетом. В отличие от небольшой затраты времени на сравнение строк можно суммировать быстро в запрос, который необходимо выполнить сканирование таблицы и сравнить конкретное значение для каждого из миллионов строк. Если запретить большой таблицы или просмотры индекса из плана запроса, изменив индексацию или сам запрос, запрос будет выполнять гораздо быстрее, чем при изменении параметров сортировки SQL.
Примечание Есть третий тип сопоставления, который представляет собой вариант сортировки SQL. Это третий параметры сортировки называется «совместимость параметров сортировки» или «замена устаревшего сопоставления». Совместимость параметров сортировки — это набор правил сортировки и сравнения, которые не имеют имя стандартных параметров сортировки в SQL Server 2000. Например если устанавливается SQL Server 7.0 с настройками несогласованные регистра для кодировки Юникод и для данных не в Юникоде, будет иметь совместимость параметров сортировки при обновлении этого экземпляра SQL Server 7.0 на SQL Server 2000. Сведения о параметрах сортировки SQL в обсуждении выше в этой статье, также применяется к совместимость параметров сортировки.

Дополнительные сведения о параметрах сортировки совместимости щелкните следующий номер статьи базы знаний Майкрософт:
270042 INF: Описание совместимость параметров сортировки SQL Server

Свойства

Код статьи: 322112 - Последний отзыв: 23 ноября 2013 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Ключевые слова: 
kbhowto kbinfo kbmt KB322112 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 322112

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com