php - php脚本中最佳的MYSQL查询数是多少?

标签 php mysql database

我不是专业的程序员,所以我不能确定这一点。你的脚本在一页发送了多少 mysql 查询,你的最佳查询数量是多少。例如,在 stackoverflow 的主页上,它列出了问题,显示了这些问题的作者。是stackoverflow 为每个问题发送mysql 查询以获取作者的信息。或者它发送 1 个查询并获取所有用户数据并将其与问题匹配?

最佳答案

我喜欢将我的保持在 8 以下。

但说真的,这毫无意义。如果假设您有理由在一个页面中有 800 个查询,那么您可以继续这样做。你可能会发现每页的查询数量将完全取决于你在做什么,但在正常情况下我会惊讶地看到超过 50 个(尽管现在,很难意识到有多少如果你正在抽象你的数据库调用,你正在做)。

慢速查询更重要

我曾经对某个基于 PHP 的论坛软件感到沮丧,该软件在一个页面中有 35 个查询并且运行速度非常慢,但那是很久以前的事了,现在我知道特定安装运行缓慢的原因无关紧要在一个页面中有 35 个查询。例如,这些查询中只有一两个占用了大部分时间。它只有几个非常慢的查询,这些查询已被适当放置的索引修复。

我认为识别和修复慢速查询应该先于识别和消除不必要的查询,因为它可能会产生更大的不同。
甚至考虑三个快速查询可能比一个慢速查询快得多 - 查询的数量不一定与速度相关。

我有一个页面(实际上是一种测试用例/诊断工具,旨在仅由管理员运行)有超过 800 个查询,但它在几秒钟内运行。我想它们都是非常简单的查询。

尝试缓存

有多种方法可以缓存应用程序的某些部分,这些方法可以真正减少您执行的查询数量,而不会降低功能。像 memcached 这样的图书馆这些天使这变得非常容易,但运行速度却非常快。与减少查询数量相比,这还有助于提高性能。

如果确实不需要查询,并且性能确实有所不同,则删除/合并它们

首先考虑寻找慢速查询并优化它们,或缓存它们的结果。

关于php - php脚本中最佳的MYSQL查询数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807095/

相关文章:

mysql - 全局化,Heroku:PG::UndefinedTable:错误:关系不存在

php - 保存现有可配置项时出现完整性约束冲突错误

php - 获取所有以特定文本开头的 $_POST 变量

php - CakePHP 3.3 从连接表中获取两列

php - 如何在MySQL数据库中显示日期和价格并在PHP中以各种格式显示

mysql - 如何使用 MySQL 设置 Docker for Symfony 项目?

php - Magento:无法登录到管理员

mysql - 显示每天从 mysql 数据库加载文件的状态

php - 使用 UPDATE MySqli PHP 增加 Int 值

asp.net-mvc - MVC3 - 使用 Include 时对数据库查询进行排序