我会尽力使这个问题尽可能清楚,但要记住英语不是我的第一语言。我有一个使用MySQL数据库用PHP编写的Web应用程序。在一个表中,我可能有数千个条目,在每个条目中我都存储了这些数据:
$hourly_rate,
$minutes
当我通过循环处理我的表时,我使用以下公式计算净值:
$net_value = $minutes*($hourly_rate/60);
现在的问题是,我应该在我的表上添加$ net_value字段,使用JQUERY计算客户端的净值,然后在$ net_value字段中上传计算结果?考虑到我可能有1000个用户同时访问系统,您认为哪一种方法最好?
谢谢你的帮助,
Donato的
答案 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不支持它们。
从性能角度来看,对如此少量的数据进行如此简单的计算可能并没有什么不同。但请记住,如果您有多个线程/进程,数据库可以并行执行这些类型的计算。