Основная точка сортировки базы данных - это определение того, как данные сортируются и сравниваются.
Case чувствительность сравнения строк
SELECT "New York" = "NEW YORK";`
возвращает истину для случая нечувствительны сортировки; false для чувствительного к регистру.
Количественное сопоставление, которое может указывать суффикс _ci
и _cs
в имени сортировки. _bin
сопоставления делают двоичные сравнения (строки должны быть на 100% идентичны).
Сравнение умляутов/диакритическими знаками
сверка также определяет, является ли обработаны с диакритическими знаками, как их латинских базовых аналогов в сравнении строк.
SELECT "Düsseldorf" = "Dusseldorf";
SELECT "Èclair" = "Eclair";
вернет истину в первом случае; false в последнем. Вам нужно будет прочитать каждое описание сортировки, чтобы узнать, что именно.
Строка сортировки
Сопоставление влияет на то строки сортируются.
Например,
Умляуты Ä Ö Ü
находятся в конце алфавита в финском/шведском алфавите latin1_swedish_ci
они рассматриваются как A O U
на немецком языке на DIN-1 сортировка (latin_german1_ci
)
и AE OE UE
в немецкой сортировке по DIN-2 (latin_german2_ci
). («сортировка телефонной книги»)
В latin1_spanish_ci
«ñ» (n-тильда) представляет собой отдельную букву между «n» и «o».
Эти правила приведут к разным заказам сортировки при использовании нелатинских символов.
Использования сортировки во время выполнения
Вы должны выбрать параметры сортировки для вашей таблицы и столбцов, но если вы не возражаете, падение производительности, вы можете заставить операции базы данных в определенную сортировку во время выполнения с помощью COLLATE
ключевое слово.
Это будет сортировать table
со стороны name
колонки с использованием немецкого DIN-2 правила сортировки:
SELECT name
FROM table
ORDER BY name COLLATE latin1_german2_ci;
Использование COLLATE
во время выполнения будет иметь влияние на производительность, так как каждый столбец должен быть конвертирован в запросе. Поэтому дважды подумайте, прежде чем применять это делать большие массивы данных.
MySQL Reference:
Что вы думаете сверка означает? – msw