如果我使用 phpmyadmin 执行一些查询,它会显示耗时 0.0002 秒,即 0.2 毫秒。 如果我使用 PDO 通过 PHP 执行相同的查询,则耗时(仅适用于下面示例代码中的第三行)为 20 毫秒。
$db = new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::ATTR_PERSISTENT => true));
$cmd = $db->prepare($sql);
$cmd->execute(array($p1, $p2, $p3, $p4));
这段代码有什么问题?
最佳答案
除了先准备语句然后执行之外,什么都没有,这会花费(一点)更多的时间。但这应该不会导致速度慢一百倍。尝试解释查询(EXPLAIN SELECT),看看它在做什么。我很难相信使用准备好的语句会慢得多。
关于PHP PDOStatement->执行非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345351/