mysql - 何时在 mysql 中使用 TEXT 而不是 VARCHAR

这个问题在这里已经有了答案:
关闭10年前

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 .


TEXTBLOB 存储在表外,表中只有一个指向实际存储位置的指针。

VARCHAR 与表内联存储。 VARCHAR 在大小合理时会更快。

根据this test , VARCHAR 的速度大约是文本的三倍。

https://stackoverflow.com/questions/11441823/

相关文章:

sql - 在子查询中引用外部查询的表

mysql - Rails 控制台通过 id 数组查找用户

php - 获得上个月的第一天和最后一天的最佳方式?

mysql - 将 MySQL 数据库置于版本控制之下?

php - 基于信誉实现权限

mysql - 为 mysql/模糊搜索实现 Levenshtein 距离?

mysql - 如何在 CentOS7 上更改 MySQL root 帐户密码?

php - 在 Android 上运行 AMP (apache mysql php)

mysql - 如果需要太长时间,如何停止 MySQL 查询?

mysql - 我应该只坚持使用 AWS RDS 自动备份还是数据库快照?