平均查询次数以获得最佳性能

时间:2016-11-10 08:21:28

标签: php mysql query-optimization dbms-output

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

3 个答案:

答案 0 :(得分:2)

执行需要半秒钟的单个复杂查询不如运行5个简单查询(最多需要1/10秒)才能完成。

拥有更多的简单查询也可能需要权衡,以保持代码更有条理。例如,与手动编写查询相比,ORM通常会产生更多的数据库调用,但它们使应用程序的开发变得更加简单。

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

答案 1 :(得分:1)

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

  

应用程序的复杂性

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

  

查询类型

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

  

部署配置

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

答案 2 :(得分:0)

我开发了许多网页,每页最多50个查询。一切都快得令人满意。诀窍不是“查询次数”,而是“速度”。在最好的情况下,查询需要不到10毫秒。其中50个还不到半秒钟。在这样的页面中,页面的呈现可能需要更长的时间。也就是说,MySQL不是瓶颈。

如何加快查询速度?简单的查询。点查询。好的指数(通常是'复合')。

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

想了解更多详情?我们来看看一些问题。