数据库存储与应用逻辑

时间:2013-03-03 21:30:51

标签: django django-models

我正在开发一个应用程序,我可以选择在数据库中存储一个布尔值,或者能够从其他数据库查询中计算它?哪个是更好的选择?

1 个答案:

答案 0 :(得分:0)

如果您将其存储在数据库

缺点是:

  • 您可能必须在更新或删除其他相关字段时(通过触发器或类似内容)更新它。
  • 您的数据库中将有冗余数据。

优点是:

  • 您的查询会更简单,更易读(通常您的模型和代码可读性和可维护性会提高)

  • 您的查询会更快。

在考虑了这些问题之后做出决定:

  • 您正在谈论的字段是否很容易计算,还是需要更复杂的计算过程? (涉及例如连接或查询多个表)

  • 价值经常变化吗?是否经常更新相关字段?

  • 数据是否如此庞大以至于冗余布尔字段有什么不同? (不太可能)