代码之家  ›  专栏  ›  技术社区  ›  Robin Rodricks

哪种mysql数据类型对于可伸缩应用程序更节省空间?文本还是varchar?

  •  0
  • Robin Rodricks  · 技术社区  · 15 年前

    我正在构建一个高度可伸缩的应用程序,我需要知道哪种数据类型用于小字符串(50-1000个字符)。我听说varchar是固定大小的,因此速度可能更快,但是对于文本,char可能存储在单独的clob中,并且只在行数据中存储一个指针。这将是较小的,但它会有任何重大的性能打击?

    1 回复  |  直到 15 年前
        1
  •  4
  •   poke    15 年前

    varchar列中的值是可变长度字符串。在mysql 5.0.3之前,长度可以指定为0到255之间的值,在5.0.3及更高版本中,长度可以指定为0到65535之间的值。

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

    但在完全不同的方面,我总是选择更适合它的数据类型。如果您存储的文本在语义上是一个可以轻松超过“标准”大小的文本,那么您应该使用文本数据类型。