Possible Duplicate:
MySQL: Large VARCHAR vs. TEXT?
既然 VARCHAR
现在可以有 65k 字节,那么什么时候应该使用 TEXT
代替 VARCHAR
?
最佳答案
长 VARCHAR
的存储方式与 InnoDB
中的 TEXT
/BLOB
字段相同。
From storage prospective BLOB, TEXT as well as long VARCHAR are handled same way by Innodb. This is why Innodb manual calls it “long columns” rather than BLOBs.
source
除非您需要索引这些列(在这种情况下 VARCHAR
更快)没有理由使用 VARCHAR
而不是 TEXT
长字段 - MySQL
中有一些特定于引擎的优化来根据长度调整数据检索,您应该使用正确的列类型来利用这些。
如果您使用的是 MyISAM
,有关该主题的深入讨论是 here .
TEXT
和 BLOB
存储在表外,表中只有一个指向实际存储位置的指针。
VARCHAR
与表内联存储。 VARCHAR
在大小合理时会更快。
根据this test , VARCHAR
的速度大约是文本的三倍。
https://stackoverflow.com/questions/11441823/