编程有点新,并且有一个我刚才想到的一般性问题。
说,我有一个包含大量股票信息的数据库,一个列有价格,另一个有收益。要获得价格/收益率,每天计算它还是按需计算它会更好吗?我认为性能明智,它只是更快阅读,但我想知道数学类型函数是否值得批量工作预先计算它(它是否甚至引人注目?)。
那么专业人士如何做呢?让应用程序处理它们的数据还是已经在数据库中使用它?
答案 0 :(得分:2)
专业人士使用各种方法。这一切都取决于你的目标。是否需要立即显示新的实际比率?核心数据多久变化一次?理想情况下,您只需在价格或收入变化时计算比率,但这需要额外的开发,如果您在网站上没有大量活动,则可能不值得。
另一方面,如果你每分钟都收到数百次访问,你肯定会想要缓存你正在计算的任何内容,因为重新显示缓存结果所需的时间远不如重新创建结果(在大多数情况下)。
但是,作为一般的经验法则,不要试图优化您没有预料到任何性能问题的东西。
答案 1 :(得分:1)
将统计数据作为单独的表保持为那些只读模式会很好。您可以直接使用SQL函数计算avarage,max,min值并保存它们。同时,对于当前时段(日),您可以动态计算并显示它。这些统计信息可用于报告或预测。
答案 2 :(得分:1)
预先计算的值(当然)更快。
但是,这一切都取决于要求本身。
请记住,有时一个缓慢的过程或大量的资源消耗是由编程实现本身引起的,而不是由错误设计的系统引起的。