MySQL TEXT против BLOB против CLOB

Каковы различия, преимущества и недостатки этих разных типов данных как с точки зрения производительности, так и с точки зрения удобства использования?

Ответ 1

TEXT - это тип данных для ввода текста. С другой стороны, у вас есть BLOB и CLOB, которые более подходят для хранения данных (изображений и т.д.) Из-за их более больших пределов емкости (например, 4 ГБ).

Что касается разницы между BLOB и CLOB, я полагаю, что CLOB имеет ассоциированную с ним кодировку символов, что означает, что она может хорошо подходить для очень больших объемов текста.

Данные BLOB и CLOB могут занять много времени для получения информации о том, как можно получить быстрые данные из поля TEXT. Итак, используйте только то, что вам нужно.

Ответ 2

Стоит отметить, что типы данных CLOB/BLOB и их размеры поддерживаются MySQL 5. 0+, поэтому вы можете выбрать подходящий тип данных для ваших нужд.

http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html

Data Type   Date Type   Storage Required
(CLOB)      (BLOB)

TINYTEXT    TINYBLOB    L + 1 bytes, where L < 2**8  (255)
TEXT        BLOB        L + 2 bytes, where L < 2**16 (64 K)
MEDIUMTEXT  MEDIUMBLOB  L + 3 bytes, where L < 2**24 (16 MB)
LONGTEXT    LONGBLOB    L + 4 bytes, where L < 2**32 (4 GB)

where L stands for the byte length of a string