MySQL中TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择


储存不区分大小写的字符数据

TINYTEXT 最大长度是 255 (2^8 – 1) 个字符。
TEXT 最大长度是 65535 (2^16 – 1) 个字符。
MEDIUMTEXT 最大长度是 16777215 (2^24 – 1) 个字符。
LONGTEXT 最大长度是 4294967295 (2^32 – 1) 个字符。

 

很早就了解MySQL5中的varchar字段可以大于255个字节,
仔细读了一下MySQL5的文档,其中对varchar字段类型描述:varchar(m) 变长字符串。
M 表示最大列长度。M的范围是0到65,535。
(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。

VARCHAR保存时用一个字节或两个字节长的前缀+数据。
如果VARCHAR列声明的长度大于255,长度前缀是两个字节。注:测试了一下使用UTF8编码,varchar的最大长度为21854字节。

首先longtext的最大长度为4GB, varchar与text的用法区别(最大长度65535-3 vs  65535):

1. varchar有系统默认长度,所以必须在括号里定义长度,可以有默认值。
2. text不能有默认值,存储或检索过程中,不存在大小写转换。
3. 经常变化的字段用varchar,能用varchar的地方不用text(效率上: char>varchar>text)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM