Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Размер типа данных TEXT
 
 автор: Dazzl   (06.11.2013 в 19:22)   письмо автору
 
 

Здравствуйте, вообщем, смотрел типы даных mysql... нашел таблицу где написано сколько весит тот или иной тип, все понял кроме этого:

TEXT L+2 байт, когда L < 2^16

не пойму сколько весит тип ТЕКСТ, я так подозреваю что L это количество символов... объясните если не трудно, заранее спасибо

  Ответить  
 
 автор: Sfinks   (07.11.2013 в 08:53)   письмо автору
 
   для: Dazzl   (06.11.2013 в 19:22)
 

Да, TEXT - это поле переменной длинны. текста в нем может быть от 0 до 2^16-1 = 65535 символов. Такое же и количество занимаемого места + 2 байта.

Это для односимвольных кодировок. Для многосимвольных, соответственно меньше. Хотя вот тут я не проверял, меньше максимальная длинна поля или больше объем памяти....

  Ответить  
 
 автор: cheops   (08.11.2013 в 08:08)   письмо автору
 
   для: Sfinks   (07.11.2013 в 08:53)
 

В VARCHAR - точно меньше максимальная длина поля, так как все VARCHAR-значения хранятся вместе в одной области памяти вместе с NULL-значениями. У этой области памяти размер ограничен 64Кб на запись, поэтому два VARCHAR(65535) в таблице завести не получится. Под тип TEXT выделяется независимая память (т.е. их в таблице можно завести сколько угодно), но в плане размера действуют те же правила - если кодировка многобайтовая, 65535 символов не удастся разместить.

  Ответить  
 
 автор: cheops   (08.11.2013 в 08:10)   письмо автору
 
   для: Dazzl   (06.11.2013 в 19:22)
 

Максимум, что сможете записать - 64Кб, размер же будет равен количеству символов в строке плюс 2 байта (правда, как верно подметил Sfinks, если кодировка многобайтовая, то количество символов умножается на размер символа, в UTF-8 английский текст занимает 1 байт, русский - 2 байта, в UTF-16 все символы занимают 2 байта).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования