Gif*_*ary 2 mysql sql database
一个网页中有多少个查询表现良好?如果该页面是多次查看的主页.
怎么样....
$sql1 = mysql_query("SELECT * FROM a", $db1);
while($row = mysql_fetch_assoc($sql1)){
$sql2 = mysql_query("SELECT * FROM b WHERE aid='a'", $db2);
$a = mysql_fetch_assoc($sql2);
}
Run Code Online (Sandbox Code Playgroud)
好吗?实际上,我可以通过INNER JOIN将$ sql1和$ sql2组合在一起,但问题是$ sql1是来自数据库1的查询数据,而$ sql2是来自数据库2的查询数据.我使用的Parallels Plesk Panel不允许我添加相同的数据库用户到多个数据库.
如果我在我的网站上使用此代码,这样好吗?或者反正这样做?
谢谢...
实际上你在1中有2个问题.
一个是普通的,一个是特定的.
在我看来,两者都有明显的答案.
一个网页中有多少个查询表现良好?
查询数量和性能之间没有直接联系.数据库设置,体系结构和调优是性能的原因.
查询数量应仅由数据库体系结构引起.尽可能多地使用您需要的查询.不要以任何代价减少查询数量,只追求性能.
好吗?
如果你别无选择,这有关系吗?
另一个未说出口的问题:
我应该关注这段代码片段吗?
你应该?
你现在有任何性能问题吗?
如果不是 - 为什么要担心?为什么要担心这个特定的片段,而不是任何其他片段?
如果是 - 您必须先对您的代码进行分析.
然后根据分析结果构建优化策略.它可能是查询数量,可能是正确的索引,集群化,服务器升级.
不要盲目射击.采取明智的措施.
我喜欢把我的保持在 12 岁以下。
不过,严肃地说,这毫无意义。如果假设您有理由在一个页面中有 800 个查询,那么您可以继续这样做。您可能会发现每页的查询数量仅取决于您在做什么,尽管在正常情况下,我会惊讶地看到超过 50 个(尽管现在很难意识到有多少如果你正在抽象你的数据库调用,你正在做)。
慢查询更重要
我曾经对某个基于 PHP 的论坛软件感到沮丧,该软件在一个页面中有 35 个查询并且运行速度非常慢,但那是很久以前的事了,现在我知道特定安装运行缓慢的原因与拥有 35 个查询无关页面中的查询。例如,这些查询中只有一两个查询占用了大部分时间。它只是有几个非常缓慢的查询,这些查询由位置良好的索引修复。
我认为识别和修复慢查询应该在识别和消除不必要的查询之前进行,因为它可能会产生更大的差异。
甚至考虑三个快速查询可能比一个慢查询快得多 - 查询数量不一定与速度有关。有时,您可以通过将慢查询拆分为多个查询来减少负载并加快页面速度。
尝试缓存
有多种方法可以缓存应用程序的各个部分,它们可以真正减少您执行的查询数量,而不会减少功能。如今,像memcached这样的库使这变得非常简单,而且运行速度非常快。与减少查询次数相比,这也有助于提高性能。
如果查询真的没有必要,并且性能确实有所作为,那么删除/组合它们
首先考虑寻找慢查询并优化它们,或者缓存它们的结果。
| 归档时间: |
|
| 查看次数: |
4109 次 |
| 最近记录: |