【问题标题】:Average number of queries for best performance获得最佳性能的平均查询数
【发布时间】:2017-03-24 04:51:56
【问题描述】:

我希望你们不会介意我提出一个离题和幼稚的问题。但是,我找不到任何令人满意的答案。 最大值,一个页面平均必须允许处理多少个查询以呈现输出(我正在寻找质量方面)。例如,在电子商务应用程序中,平均需要 4 到 5 个查询。查询次数越少,响应时间越短。因此问题。 这个问题与任何编程平台无关。但是,让我们以 PHP 和 MySql 为例。

【问题讨论】:

  • 我认为不需要平均查询次数。为了获得最佳性能,查询越少,性能就越好。
  • 我觉得1不错。
  • 一段字符串有多长
  • 这里的变量太多。

标签: php mysql query-optimization dbms-output


【解决方案1】:

执行一个需要半秒时间的复杂查询不如运行总共需要 1/10 秒才能完成的 5 个简单查询最佳。

为了让您的代码更有条理,拥有更多的简单查询也可能是一种权衡。例如,与手动编写查询相比,ORM 通常会进行更多的数据库调用,但它们使应用程序的开发更加简单。

不过,最终,任何复杂到需要担心数据库调用次数的应用程序都足够复杂,以至于它应该尽可能地使用缓存层。只要没有需要很长时间才能加载的页面,就不值得挑剔查询的确切数量。

【讨论】:

    【解决方案2】:

    实际上,很难说一个页面必须触发多少个查询。这取决于 以下因素:

    应用的复杂性

    与普通网页相比,在大型、复杂和面向数据的应用程序中,网页中显示的数据量很大。因此,可能需要您触发更多查询才能获取数据。

    查询类型

    您可以选择触发更多查询来获取单个数据,或者您可以使用复杂的 Join 一次性从多个表中获取所有数据。因此,在这里您要在否之间进行权衡。 db 调用 VS 处理量和内存,复杂 JOIN 需要。如果您要加入的表不是很大,那么加入是最好的选择。但是,如果您的表很大,那么单独调用 db 来获取数据可能更有意义。

    部署配置

    如果您的应用服务器和数据库服务器配置在同一台机器上,那么进行多个查询可能没有太大意义。但是,如果您的数据库服务器和应用程序服务器位于不同的位置,则必须使用最少查询或必须使用具有更多连接的单个查询,以避免网络延迟。

    【讨论】:

      【解决方案3】:

      我开发了许多网页,每页最多有 50 个查询。所有的速度都可以接受。诀窍不是“查询数量”,而是它们的“速度”。在最好的情况下,查询需要不到 10 毫秒。其中 50 个仍然不到半秒。在这样的页面中,页面的呈现可能需要更长的时间。也就是说,MySQL 不是瓶颈。

      如何加快查询速度?简单的查询。点查询。良好的索引(通常是“复合”)。

      如何减慢查询速度? EAV。 “显示 123456 中的 10 个结果”。表扫描。

      想了解更多详情?让我们看看一些查询。

      【讨论】:

        猜你喜欢
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多