【问题标题】:How to Handle Large Sets of Data in PHP如何在 PHP 中处理大量数据
【发布时间】:2014-06-12 03:42:11
【问题描述】:

我目前正在为一个客户创建一个计算器,它有一组选项,这些选项都输入到一个算法中,该算法会抛出一些数字。该算法通过其 ajax 方法在所选选项中以 PHP 和 jQuery 提要进行编码。

显示总比说好,这里是:

http://clients.benpalmer.me/the-eco-experts/solar-calulator/

一旦选择了一个选项(但不是在此期间),计算器当前就会计算出新的数字。基本上,如果可能的话,我希望使用实时计算,例如,当您滑动百分比滑块时 - 数字会在您滑动时更新(而不是之后)。

这是用一个 mysql 数据库设置的,它有 8760 行数据,每一行都需要计算最终数字。正如您可能想象的那样 - 这并不是特别快。

我正在尝试找出一种更快的方法来解决这个问题(我不确定是否真的有更快的方法)。

到目前为止,我一直在考虑将所有这些数据放入一个数组中,而不是希望它更快。在对此进行测试之后 - 它似乎以相同的速度工作(可能会慢一点)。我也尝试在 PHP 中使用 SplFixedArray 类,但同样,数据量如此之大 - 性能没有明显改善。

不幸的是,我找不到任何其他方法,我怀疑我正在与这个方法进行一场失败的战斗,但任何建议都将不胜感激。

【问题讨论】:

    标签: php jquery mysql arrays performance


    【解决方案1】:

    你应该尝试Redis(Predis,它是 PHP 库的名称)来存储你的数组(基本上,关系数据库在这里不是一个好的选择,你应该坚持使用 NoSQL 引擎)。我建议使用 Hashmaps,但请记住,存储超过 1000 个键会降低其性能。 Instagram 开发人员 on their blog 描述了针对该问题的一个很好的解决方案,我认为这在这种特定情况下可能对您有用。

    【讨论】:

      【解决方案2】:

      最后,我能够使用 PHP 即时计算出我需要的数字。它涉及一个巨大的循环,但它极大地提高了速度。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-09
        • 2015-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-24
        相关资源
        最近更新 更多