我应该在页面上限制自己的MySQL查询数量?PHP/MySQL

joh*_*ack 14 php mysql performance

好的,所以我相信很多人已经构建了疯狂的数据库密集型页面......

我正在构建一个页面,我想从中提取各种不相关的数据库信息.以下是此页面的一些示例不同查询:

  • 文章内容和信息
  • 如果作者是注册用户,他们的信息
  • 更新文章的视图计数器
  • 检索文章的评论
  • 检索评论作者的信息
  • 如果文章的读者已登录,请查询其中的信息
  • 等等...

我知道这些基本上会非常闪电,而且我可以结合一些; 但我想确保这不是异常的?

你会在页面上限制多少相当正常和不重要的查询?

Pis*_*3.0 30

尽可能多,但不是更多.

真的:不要担心优化(现在).首先构建它,然后测量性能,IFF在某处存在性能问题,然后从优化开始.

否则,您可能会花费大量时间来优化不需要优化的事情.


twk*_*twk 8

我的网页上有50个查询,没有问题.对非大型(即,适合主存储器)表的快速查询可以在1毫秒或更短的时间内发生,因此您可以执行其中的一些.

如果页面加载时间不到200毫秒,您将拥有一个活泼的网站.服务器和浏览器之间的延迟使用了很大一部分,所以我喜欢在服务器上花费<100毫秒的时间.在该时间段内执行任意数量的查询.

最大的瓶颈可能是您必须花费在项目上的时间,因此首先要优化它:)如果必须,稍后优化代码.话虽如此,如果您要编写与此问题相关的任何代码,请编写一些可以明确查询所需时间的内容.这样你至少可以发现你有问题.


Bar*_*rry 5

我认为没有任何一个正确的答案.我会说只要查询速度很快,并且页面遵循逻辑流程,就不应该对它们施加任意限制.我看过有十几个查询的页面,我看到它们一个爬行.


Les*_*zer 5

每个查询都需要往返数据库服务器,因此许多查询的成本随着延迟而增大.

如果它在同一主机上运行,​​那么仍然会有轻微的速度损失,不仅因为套接字在您的应用程序之间,而且因为服务器必须解析您的查询,构建响应,检查访问以及您使用SQL获得的任何其他开销服务器.

所以一般来说,最好少查询一下.

尽管如此,您应该尝试尽可能多地在SQL中执行:当您在SQL本身无需麻烦的情况下实现相同的算法时,不要在客户端语言中获取某些算法的输入.这不仅可以减少查询次数,还可以帮助您选择所需的行.

Piskvor的答案在任何情况下仍然适用.