MySQL TEXT vs BLOB vs CLOB

Mysql

Mysql Problem Overview


What are the differences, advantages and disadvantages of these different data-types both from a performance standpoint as well as a usability standpoint?

Mysql Solutions


Solution 1 - Mysql

TEXT is a data-type for text based input. On the other hand, you have BLOB and CLOB which are more suitable for data storage (images, etc) due to their larger capacity limits (4GB for example).

As for the difference between BLOB and CLOB, I believe CLOB has character encoding associated with it, which implies it can be suited well for very large amounts of text.

BLOB and CLOB data can take a long time to retrieve, relative to how quick data from a TEXT field can be retrieved. So, use only what you need.

Solution 2 - Mysql

It's worth to mention that CLOB / BLOB data types and their sizes are supported by MySQL 5.0+, so you can choose the proper data type for your need.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJake WilsonView Question on Stackoverflow
Solution 1 - MysqlBaseerView Answer on Stackoverflow
Solution 2 - MysqlJonathan LView Answer on Stackoverflow