当我有一个文本字段时,我通常将其存储为 varchar。但是后来我遇到了我怎么知道我应该放置的限制的问题?估计用户将输入多少文本似乎非常不精确。
由于 varchar 根据需要使用尽可能多的空间,因此将限制设置为远大于您的估计是否更好?
使用各种 Text 数据类型有什么缺点吗?是否可以使用“LIKE”运算符和通配符进行搜索?
我认为在某些情况下最好缩小 varchar 的值。但在许多情况下,使用 255 作为限制是可以的。
Varchar 可以使用 LIKE 和通配符进行搜索。
如果用户可能键入超过 255 个字符(VARCHAR 的通常限制),那么您需要 TEXT,但它可以被索引。MySQL 有一个用于 TEXT 列的 FULLTEXT 索引,它工作得相当好,但不会像 CHAR 或 VARCHAR 列那样快。
为什么不在本地机器上尝试使用一些虚拟数据进行测试,以查看性能比较,以及是否可以足够快地完成您想要的查询?