2

我使用 rails 3 和 Mysql 或 SQlite3 作为我的后端数据库。我正在从第三方导入大量逗号分隔值。当某个特定属性为空时,第三方使用“”(值的 1 个空格或空格)。

我的问题是从数据库效率的角度来看,我应该简单地坚持使用空格的第三方约定,还是将空格转换为空字符更好。

4

3 回答 3

2

您应该使用NULL,因为这意味着该字段没有值。但是一个空的空间,实际上是一个值(这是一个空格),所以你最好将它们转换为NULL.

于 2013-06-16T15:01:11.600 回答
1

虽然 NULL 比空白更受欢迎,但更多的 NULL 数据代表了数据库设计的味道。

我建议你:

  1. 按原样导入数据库,即空白
  2. 使用原始 SQL 命令将空格转换为 NULL。
  3. 如果有很多 NULL,请重新设计模型并迁移。
于 2013-06-16T15:18:09.820 回答
1

您应该将它们转换为 NULL。如果数据应该为 NULL 而不是一些随机空白时为 NULL,它会使您的未来工作更容易。事实是,您可以将其转换为任何东西,但如果您想要一个无错误的系统,那么保持数据尽可能一致是最重要的事情之一。

于 2013-06-16T14:57:04.793 回答