我运行了一些简单的测试:在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
?>
结果:以秒为单位的时间与记录数量的关系:
答案 0 :(得分:1)
PHP运行速度比MySQL快得多可能有很多原因。如果我将MySQL服务器放在我的2008 300 $ lenovo上网本上并在我的服务器上运行PHP,我甚至可以获得更多的速度差异。
您提出问题的方式表明,您对与某些软件相关的时间衡量的理解只是问题所在。
答案 1 :(得分:1)
我可以看到你正在使用phpmyadmin,它也是脚本化来返回值。这可能比你的脚本速度慢,这绝对是小的。您是否考虑过从命令提示符运行mysql查询?这可能会给您一个明显的区别。