Разница между utf8 unicode ci и utf8 unicode 520 CI сортировки в MariaDB / MySQL?



Я вошел в MariaDB / MySQL и ввел:



SHOW COLLATION;


Я вижу utf8_unicode_ci и utf8_general_ci среди доступных параметров сортировки. В чем разница между этими двумя сопоставлениями и какими мы должны пользоваться?

645   2  

2 ответов:

Ну, вам нужно будет ознакомиться с документацией. Я не могу сказать вам, что вы должны использовать, потому что каждый проект отличается.

10.1.3 Соглашения Об Именовании Параметров Сортировки

Имена параметров сортировки MySQL следуют следующим соглашениям:

Имя сортировки начинается с имени набора символов, с которым оно связано, за которым следует один или несколько суффиксов, указывающих на другие характеристики сортировки. Например, utf8_general_ci и latin_swedish_ci являются параметрами сортировки для utf8 и наборы символов latin1 соответственно.

Параметры сортировки для конкретного языка включают имя языка. Например, utf8_turkish_ci и utf8_hungarian_ci сортируют символы для набора символов utf8, используя правила Турецкого и венгерского языков соответственно.

Чувствительность к регистру для сортировки обозначается символами _ci (нечувствительный к регистру), _cs (чувствительный к регистру) или _bin (двоичный; сравнение символов основано на значениях двоичного кода символов). Например, latin1_general_ci не чувствителен к регистру, latin1_general_cs чувствителен к регистру, а latin1_bin использует значения двоичного кода.

Для Юникода имена параметров сортировки могут включать номер версии, указывающий версию алгоритма сортировки Юникода (UCA), на котором основаны параметры сортировки. Параметры сортировки на основе UCA без номера версии в имени используют весовые ключи UCA версии-4.0.0. Например:

Utf8_unicode_ci (без имени версии) основан на весовых ключах UCA 4.0.0 >(http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt).

Utf8_unicode_520_ci основан на весовых ключах UCA 5.2.0 (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt).

Для Unicode, параметры сортировки xxx_general_mysql500_ci сохраняют порядок до 5.1.24 исходных параметров сортировки xxx_general_ci и позволяют обновления для таблиц, созданных до MySQL 5.1.24. Для получения дополнительной информации см. раздел 2.11.3, " проверка того, должны ли таблицы или индексы быть Перестроен " и раздел 2.11.4 "перестройка или восстановление таблиц или индексов".

Источник: https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html

Чтобы увидеть немного больше обсуждения фактических различий, вы можете перейти к https://dev.mysql.com/worklog/task/?id=2673 и нажмите кнопку "архитектура высокого уровня".

Comments

    Ничего не найдено.