我正在编写一个多选题测试应用程序并想知道他最适合存储问题的问题文本(以及答案)的数据类型。一个问题的文本可能通常小于255个字符,但有时可能会超过它。考虑到性能和内存使用情况,TEXT
字段是最佳选择,还是TINYTEXT
或其他内容?
答案 0 :(得分:1)
如果它可能超过255,那么你应该使用varchar(10000)或类似的东西。任何大于varchar(255)的varchar都以完全相同的方式存储。 Text数据类型有一些性能注意事项,如果您不使用它,则无需担心。
答案 1 :(得分:0)
除非您要处理数千个问题,否则选择正确的列类型所带来的性能提升将是微不足道的。同样正确的列索引将在性能成为问题之前为您提供很长的路要走。但是varchar字段几乎总是一个更快的列,因为有一些TEXT列的开销。
关于varchar(255)
vs tinytext(255)
的其他注意事项是大小。 varchar(255)
可以容纳255个字符。 tinytext(255)
可以容纳255个字节。请注意细微差别,尤其是在使用utf8运行时。这意味着前者可能拥有更多东西。
另一方面,如果您没有大量的记录要考虑,那么您应该关注varchar(255)
列是否有足够的空间来容纳任何大小的问题长度,因为最后如果你不能用255个字符填写所有问题,那么你别无选择,只能转到更大的栏目。