一列或两列?

时间:2016-07-10 09:31:59

标签: mysql

列包含字符串。 在大多数情况下,它是一个小字符串(少于50个字符)。 但有时它可能包含一个大字符串(千字节)。

什么更有效?

  1. field VARCHAR(65535) NOT NULL
  2. field VARCHAR(255) NULL, field_big TEXT NULL。 如果值大于255 - 写入field_bid,否则 - 写入field
  3. 阅读时看看哪里不是NULL。

1 个答案:

答案 0 :(得分:1)

除非字符串大于50个字符,否则您应该将它们存储为1列。

将它们拆分为两列只会使查询复杂化,每次要处理此列时,您都必须使用CASE EXPRESSION/IF,这只会导致查询无法读取!