为什么PHP运行速度比MySQL快

时间:2012-03-13 13:56:59

标签: php mysql testing

我运行了一些简单的测试:在mysql和php中进行相同的复杂查询,并测量处理它们所花费的时间。结果非常有争议,并建议一些查询PHP处理比MySql更快。

理论上,不应该更快的MySql? 我想比较PHP(脚本语言)接口如何降低复杂SQL查询的性能。但为什么我的结果表明不然?

这些是平均值,我每次运行3次查询!

php代码:

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test3", $con);

    $start = microtime(TRUE);
    $result = mysql_query("SELECT * FROM `test`
    ORDER BY `test`.`test1` DESC
    LIMIT 0,100");


echo "<table border='1'>
<tr>
<th>ID</th>
<th>test1</th>
<th>test2</th>
<th>test3</th>
<th>test4</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['ID'] . "</td>";
  echo "<td>" . $row['Test1'] . "</td>";
  echo "<td>" . $row['Test2'] . "</td>";
  echo "<td>" . $row['Test3'] . "</td>";
  echo "<td>" . $row['Test4'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

$end = microtime(TRUE);

$sqlTime = $end - $start;


mysql_close($con);
echo $sqlTime
?> 

结果:以秒为单位的时间与记录数量的关系: enter image description here

2 个答案:

答案 0 :(得分:1)

PHP运行速度比MySQL快得多可能有很多原因。如果我将MySQL服务器放在我的2008 300 $ lenovo上网本上并在我的服务器上运行PHP,我甚至可以获得更多的速度差异。

您提出问题的方式表明,您对与某些软件相关的时间衡量的理解只是问题所在。

答案 1 :(得分:1)

我可以看到你正在使用phpmyadmin,它也是脚本化来返回值。这可能比你的脚本速度慢,这绝对是小的。您是否考虑过从命令提示符运行mysql查询?这可能会给您一个明显的区别。