В чем недостаток использования поля длинного текста MySQL, когда каждая запись помещается в поле среднего размера? - PullRequest
25 голосов
/ 06 сентября 2011

В чем недостаток использования поля длинного текста MySQL, когда каждая запись помещается в поле среднего размера?

Причина, по которой я спрашиваю, состоит в том, что у меня есть несколько полей длинного текста, и недавно я понял, что они намногослишком большой, но затем изо всех сил пытался мотивировать себя, чтобы сделать мелкие изменения, потому что "в чем вред?"отсюда вопрос.

Ответы [ 2 ]

36 голосов
/ 06 сентября 2011

Единственная разница в размере хранилища - это количество байтов, выделенных для числа «сколько байтов это поле».Из тонкой инструкции :

TINYTEXT    L + 1 bytes, where L < 2^8  
TEXT        L + 2 bytes, where L < 2^16
MEDIUMTEXT  L + 3 bytes, where L < 2^24
LONGTEXT    L + 4 bytes, where L < 2^32

Таким образом, longtext будет использовать на один байт больше, чем mediumtext для хранения того же текста.Немного больше информации содержится в разделе Требования к типу данных для хранения данного руководства, а также в разделе Типы BLOB и TEXT .

Практического различиямежду четырьмя типами TEXT.

2 голосов
/ 06 сентября 2011

Mysql часто использует временные таблицы для выполнения запросов. Поэтому недостаток поля большого размера состоит в том, что MySql зарезервирует столько места для столбца.

Вы будете иметь медленное выполнение с теми же данными, если у вас этот столбец будет помечен как длинный текст, по сравнению со средним текстом

...