对于可伸缩应用程序,哪种MySQL数据类型更节省空间? TEXT或VARCHAR?

时间:2010-01-19 10:36:04

标签: mysql text types varchar

我正在构建一个高度可扩展的应用程序,我需要知道哪个数据类型用于小字符串(50-1000个字符)。我听说VARCHAR是固定大小的,因此可能更快,但是使用TEXT,chars可能存储在单独的CLOB中,而只存储在行数据中的指针。这会更小,但它会有任何重大的性能影响吗?

1 个答案:

答案 0 :(得分:4)

  

VARCHAR列中的值是可变长度字符串。长度可以指定为MySQL 5.0.3之前的0到255之间的值,5.0.3及更高版本中的0到65,535之间的值。

如果你有MySQL 5.0.3或更高版本,并且不需要超过65k字符,那么你使用哪一个并不重要,因为TEXT和VARCHAR在存储中都有可变的大小。如果您有许多少于255个字符的文本,则可以通过选择VARCHAR为这些文本保存一个字节。

但在完全不同的方面,我总是会选择更适合它的数据类型。如果存储文本,即语义上容易超出“标准”大小的文本,则应使用TEXT数据类型。