0

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

4

1 回答 1

4

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

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

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

于 2010-01-19T10:55:29.717 回答