客户端计算机或服务器上的计算?

时间:2013-01-07 22:12:10

标签: php mysql

我会尽力使这个问题尽可能清楚,但要记住英语不是我的第一语言。我有一个使用MySQL数据库用PHP编写的Web应用程序。在一个表中,我可能有数千个条目,在每个条目中我都存储了这些数据:

$hourly_rate,
$minutes

当我通过循环处理我的表时,我使用以下公式计算净值:

$net_value = $minutes*($hourly_rate/60);

现在的问题是,我应该在我的表上添加$ net_value字段,使用JQUERY计算客户端的净值,然后在$ net_value字段中上传计算结果?考虑到我可能有1000个用户同时访问系统,您认为哪一种方法最好?

谢谢你的帮助,

Donato的

3 个答案:

答案 0 :(得分:1)

这取决于价值的重要性。如果它一直被很多人访问,那么可能值得存储在数据库中。

但我不建议使用jQuery进行计算,为了更好的安全性,请使用服务器端。

答案 1 :(得分:0)

通常我不会在数据库中存储这样简单的计算值。在PHP中进行计算花费的时间非常少,甚至不值得考虑。

答案 2 :(得分:0)

将计算存储在数据库中是有充分理由的。很好的理由是这个计算可以在应用程序的多个地方使用。

我建议您创建一个视图,例如:

 create view vw_rates as
     select t.*, minutes*(hourly_rate/60) as net_value
     from t

通过放置视图,每个人都将使用相同的定义。因此,按地区或时间汇总的报告将使用相同的定义。在其他数据库中,您可以使用计算列执行相同的操作,但MySQL不支持它们。

从性能角度来看,对如此少量的数据进行如此简单的计算可​​能并没有什么不同。但请记住,如果您有多个线程/进程,数据库可以并行执行这些类型的计算。