【问题标题】:Get MySQL data without stressing server在不给服务器带来压力的情况下获取 MySQL 数据
【发布时间】:2011-01-21 19:16:42
【问题描述】:

我想知道当我想使用 PHP 获取大量数据时,防止服务器受到压力的最佳方法是什么。

将我的所有数据转换为 XML 工作表?使用缓存?

数据来自许多不同的数据库和不同的表。

有什么想法吗?

提前致谢

【问题讨论】:

    标签: php mysql xml database


    【解决方案1】:
    1. 在你做任何事情之前,给它施加压力直到它破裂。

    2. 当它断裂时,对其进行分析以识别断裂点,然后进行处理。

    3. 从第 1 点开始重复,直到性能限制可以接受。

    【讨论】:

      【解决方案2】:

      都没有。

      两者都在您的 PHP 代码中增加了显着的复杂性。转换为 XML 绝对没有任何附加价值 - 事实上,它不仅是 XML 中的额外编码成本,而且还需要解码成本。至于将数据实际存储在 XML 中 - 这简直是荒谬的。

      MySQL DBMS 提供了非常有效的结果缓存。底层操作系统应该提供非常好的 I/O 缓存。通过添加自己的缓存层,除了更慢的代码和更热的 CPU 之外,你什么也得不到。

      如果您有一个 OLTP 类型的数据库并且经常整理大量数据集,那么您可能需要考虑预先整合它或在您的数据库中实现一个 OLAP 架构。

      OTOH,如果您只是想提高系统的性能,那就看看其他地方 - 特别是您的数据场景。

      C.

      【讨论】:

        【解决方案3】:

        我认为缓存将是可行的方法,除非此数据不经常更改:)

        【讨论】:

        • 我正在考虑让我的服务器自动创建一个数据库,该数据库可以获取我需要的数据,并在发生变化时对其进行更新。这样我就不会给其他数据库太多压力了。
        猜你喜欢
        • 1970-01-01
        • 2018-09-09
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-06
        • 2016-04-01
        相关资源
        最近更新 更多