每页最大SQL查询数

Jim*_*Lin 9 php mysql

这个问题可能没有明确的答案,所以如果它被认为是主观的,让我们说不好,请随意关闭它.

基本上我正在开发一个非常大的Web应用程序(PHP),它使用CakePHP.现在它正处于开发阶段,数据库中的一些东西非常复杂,因此需要进行大量查询才能显示页面(大约7-25个查询).

由于这可能是一个大规模的,我想知道什么是最大值,也就是说,一个点表示"你可能做错了什么并且应该优化",SQL查询的数量应该每页完成.我现在设置了一个非常简单的缓存系统,它将单个用户运行的查询减少到大约5秒,持续15秒.

经常运行25个查询?我应该停止开发(我有足够的时间)一段时间并重构代码,删除未使用的SQL查询,并花时间来提高这部分的性能?

这可能听起来有点令人困惑,所以恢复:对于每个页面运行的查询数量是否存在事实上的最大值,这些查询不会破坏服务器(即共享托管环境)?

谢谢.

irc*_*ell 8

最重要的不是数字,而是查询的费用......

运行100 SELECT name FROM foo WHERE id = 1 LIMIT 1将比运行以下1中更好:

SELECT *
    FROM foo AS a
    JOIN bar AS b
    JOIN car AS c
    WHERE a.col LIKE '%f%' OR b.col LIKE '%b%' OR c.col LIKE '%b%'
Run Code Online (Sandbox Code Playgroud)

所以不要担心这个数字,除非它是荒谬的(超过100是高.几千是荒谬的)...不要忘记你可以启用MySQL的查询缓存......所以即使你每秒都要进行大量的查询,只要没有大量的更新,大多数都会直接缓存结果.


rec*_*ive 7

数据库的总命中数也与页面查看次数成正比.因此,如果每页的页面查看*查询超过数据库的容量,那么您就遇到了问题.显然,不同站点之间的流量变化很大,数据库容量也是如此,因此实际上不可能有一个目标.