Символьные типы в MySql - CHAR, VARCHAR, TEXT - влияет ли кодировка на выделяемую память? - Вопросы по сайтостроению

Вопрос Символьные типы в MySql - CHAR, VARCHAR, TEXT - влияет ли кодировка на выделяемую память?

Регистрация
29 Авг 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
В справочнике сказано, что например CHAR(8) - это будет 8 байт, но ведь utf-8 вроде бы 1 символ занимает больше чем 1 байт, значит ли это, что CHAR(8), например может занимать 16 байт?
 
Регистрация
26 Авг 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
Да, влияет. При выборе кодировки utf8 под каждый символ отводится 3 байта. Этого достаточно только для нулевой плоскости юникода (коды 0x0000-0xFFFF). Для поддержки современного юникода в MySQL был добавлена кодировка utf8mb4, в которой под каждый символ отводится 4 байта. Потому CHAR(8) обычно занимает либо 8, либо 24, либо 32 байта.
 
Сверху Снизу