Разница между utf8mb4 unicode ci и utf8mb4 Unicode 520 CI сортировки в MariaDB / MySQL?
Я вошел в MariaDB / MySQL и ввел:
SHOW COLLATION;
Я вижу utf8mb4_unicode_ci
и utf8mb4_unicode_520_ci
среди доступных параметров сортировки. В чем разница между этими двумя сортировками и который мы должны использовать?
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 без номера версии в имени используют ключи веса версии-4.0.0 UCA. Например:
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 и нажмите "архитектура высокого уровня".