Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将计算结果存储在数据库中?_Mysql_Sql_Database_Storage - Fatal编程技术网

Mysql 将计算结果存储在数据库中?

Mysql 将计算结果存储在数据库中?,mysql,sql,database,storage,Mysql,Sql,Database,Storage,在(sql)数据库中存储“简单”计算结果有多有用 让我们举个例子: 总价是:10.00美元$ 税款为:20% 运费为:5.00美元$ 根据这些信息,我可以计算: 净价:12.00$ 总费用:17.00$ 问题是:我应该只存储3个原始值并在每次请求时计算另外2个,还是应该计算一次并存储它们 换句话说:什么东西更有价值?计算能力还是存储空间 关于你的问题: 换句话说:什么东西更有价值?计算能力或 存储空间 为了回答这个问题,你需要考虑数据的使用情况,以及你愿意在速度和存储方面做出的权衡。 考

在(sql)数据库中存储“简单”计算结果有多有用

让我们举个例子:

  • 总价是:10.00美元$
  • 税款为:20%
  • 运费为:5.00美元$
根据这些信息,我可以计算:

  • 净价:12.00$
  • 总费用:17.00$
问题是:我应该只存储3个原始值并在每次请求时计算另外2个,还是应该计算一次并存储它们

换句话说:什么东西更有价值?计算能力还是存储空间

关于你的问题:

换句话说:什么东西更有价值?计算能力或 存储空间

为了回答这个问题,你需要考虑数据的使用情况,以及你愿意在速度和存储方面做出的权衡。

考虑有1亿条记录的用例,您需要频繁运行报告,其中查询净价、总体成本。在这种情况下,如果计算了这些值,您的报告将运行得较慢。现在,如果您需要报表运行得更快,可以考虑将计算值存储在表中。

作为另一个用例,如果您有上述数据,并且有一个审计表存储对数据的每次更新,并且有定期备份数据的归档作业,那么当计算值也是主表的一部分时,您将最终存储更多数据


因此,答案实际上取决于您的用例和您愿意进行的权衡。

我不存储计算结果的主要原因是税收和运输成本可能会随着时间的推移而变化,因此这些结果会过时,或者更糟:错误。仍然存储它们的一个原因是查询更简单/更快。但是,对于你的例子,我强烈建议你在需要的时候即时计算它们,但是考虑一下当税收必须在创造的时候保持价值的情况。是这样吗?是库存商品的价格(因此,当法律改变时,税收应该改变),还是仅仅是一个存储已完成订单的记录?我只会保留一个计算的答案,如果需要按其值进行搜索,因为你不能对计算的值进行索引,或者如果重新计算它将需要访问其他大表。如果您决定需要保持(平凡的)计算值,则应该考虑使用触发器来计算它,以便将计算保持在一个单独的位置。使用V5.7.6可用的MySQL生成列功能或使用视图将更简单。