Во-первых, давайте разберемся в двух терминах:
"Набор символов" - это кодировка, такая как latin1, utf8, utf8mb4.
«Сортировка» - это способ сортировки, как в latin1_swedish_ci, utf8_general_ci, utf8mb4_unicode_520_ci.
Нет проблем с наличием разных столбцов с использованием разных наборов символов и / или параметров сортировки. И столбцы не должны совпадать с значениями по умолчанию .
таблицы. Как правило, лучше использовать набор символов utf8mb4 для всех столбцов. Но это не сильное требование. Микширование не мешает операциям.
ALTER TABLE .. CONVER TO ..
- это способ правильно преобразовать все столбцы (одной таблицы) в набор символов diff, предполагая, что они были правильно закодированы в соответствии с старое объявление.
ALTER TABLE .. MODIFY COLUMN x VARCHAR(..) CHARACTER SET ..
- это способ изменить один столбец. Примечание: размер, по умолчанию, null / not-null и т. Д. c. необходимо повторить.
Независимо от того, как вы это делаете, потребуется некоторое время, чтобы изменить кодировку для одного или нескольких столбцов в таблице из 20-миллиметровых строк.
Когда JOINing
две таблицы для строкового столбца более эффективно, если обе таблицы имеют одинаковый набор символов и параметры сортировки для столбца, к которому вы присоединяетесь.