|
|
|
| Здравствуйте, вообщем, смотрел типы даных mysql... нашел таблицу где написано сколько весит тот или иной тип, все понял кроме этого:
TEXT L+2 байт, когда L < 2^16
не пойму сколько весит тип ТЕКСТ, я так подозреваю что L это количество символов... объясните если не трудно, заранее спасибо | |
|
|
|
|
|
|
|
для: Dazzl
(06.11.2013 в 19:22)
| | Да, TEXT - это поле переменной длинны. текста в нем может быть от 0 до 2^16-1 = 65535 символов. Такое же и количество занимаемого места + 2 байта.
Это для односимвольных кодировок. Для многосимвольных, соответственно меньше. Хотя вот тут я не проверял, меньше максимальная длинна поля или больше объем памяти.... | |
|
|
|
|
|
|
|
для: Sfinks
(07.11.2013 в 08:53)
| | В VARCHAR - точно меньше максимальная длина поля, так как все VARCHAR-значения хранятся вместе в одной области памяти вместе с NULL-значениями. У этой области памяти размер ограничен 64Кб на запись, поэтому два VARCHAR(65535) в таблице завести не получится. Под тип TEXT выделяется независимая память (т.е. их в таблице можно завести сколько угодно), но в плане размера действуют те же правила - если кодировка многобайтовая, 65535 символов не удастся разместить. | |
|
|
|
|
|
|
|
для: Dazzl
(06.11.2013 в 19:22)
| | Максимум, что сможете записать - 64Кб, размер же будет равен количеству символов в строке плюс 2 байта (правда, как верно подметил Sfinks, если кодировка многобайтовая, то количество символов умножается на размер символа, в UTF-8 английский текст занимает 1 байт, русский - 2 байта, в UTF-16 все символы занимают 2 байта). | |
|
|
|