MySQL TEXT vs BLOB vs CLOB

时间:2011-08-15 22:42:31

标签: mysql

从性能角度和可用性角度来看,这些不同数据类型的区别,优缺点是什么?

2 个答案:

答案 0 :(得分:72)

TEXT是基于文本输入的数据类型。另一方面,由于容量限制较大(例如4GB),因此BLOB和CLOB更适合数据存储(图像等)。

至于BLOB和CLOB之间的区别,我相信CLOB具有与之关联的字符编码,这意味着它可以很好地适用于非常大量的文本。

BLOB和CLOB数据可能需要很长时间才能检索,相对于可以检索TEXT字段的数据的速度。所以,只使用你需要的东西。

答案 1 :(得分:12)

值得一提的是,MySQL 5.0+支持CLOB / BLOB数据类型及其大小,因此您可以根据需要选择合适的数据类型。

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