PDO fetchAll需要很长时间

时间:2013-01-18 11:24:38

标签: php mysql pdo

我正在使用PDO从MySQL数据库中获取结果。

如果我只执行执行语句,则需要8 seconds。 (连续350次做同样的事情。)

添加fetchAll()语句时,它会上升到 28秒。这是正常行为吗?

我在网络服务器和数据库服务器之间进行了网络测试,其速度在87 Mbits/sec左右,因此不会出现问题。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

执行的8秒也是非常长的 - 并且表示您没有正确索引表。因此,从表中获取数据需要很长时间。它也可能使用临时表。

确保您在“搜索”中使用了任何字段,或者在索引的已连接表中用作搜索键。索引有点难以正确 - 但要测试,在查询之前添加“EXPLAIN”并从中打印出结果 - 每个表都会得到一行。如果您有“使用WHERE”或“创建临时表”,那么这些可能是您需要通过在这些表上添加索引来删除的。