我正在为客户创建一个计算器,该计算器具有一组选项,这些选项都会输入一个算法,该算法会抛出一些数字。该算法用PHP编码,jQuery通过它的ajax方法在所选选项中提供。
最好是展示,而不是告诉它:
http://clients.benpalmer.me/the-eco-experts/solar-calulator/
一旦选择了一个选项(但不是在期间),计算器当前会计算出新的数字。基本上,我想要尽可能使用实时计算,所以当您滑动百分比滑块时 - 例如,当您滑动(而不是之后)时,数字会更新。
这是使用mysql数据库设置的,该数据库有8760行数据,每行需要计算最终数字。你可以想象 - 这不是特别快。
我正在尝试找出一种更快速的方法来解决这个问题(我不确定是否有更快的方法)。
到目前为止,我已经考虑过将所有这些数据放入一个数组中,而不是将它放在更快的可能性上。在测试完之后 - 它似乎以相同的速度工作(可能有点慢)。我也尝试在PHP中使用SplFixedArray类,但是再次使用如此多的数据 - 性能没有明显改善。
不幸的是,我还没有找到任何其他方法,我怀疑我正在与这个方法进行一场失败的战斗,但任何建议都会受到高度赞赏。
答案 0 :(得分:1)
你应该尝试Redis(Predis它是PHP库的名称)来存储你的数组(基本上,关系数据库在这里不是一个好选择,你应该坚持使用NoSQL引擎)。我建议使用Hashmaps,但请记住,存储超过1000个密钥会降低它的性能。 Instagram开发人员on their blog已经描述了解决该问题的一个很好的解决方案,我认为在这种特定情况下这可能对您有用。
答案 1 :(得分:0)
最后,我能够使用PHP计算出我需要的数据。它涉及一个巨大的循环,但它对速度有很大的帮助。