php - PDO fetchAll 需要很长时间

标签 php mysql pdo

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

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

添加 fetchAll() 语句时,时间最长为 28 秒。这是正常行为吗?

我在 Web 服务器和数据库服务器之间进行了网络测试速度,大约为 87 Mbits/sec,因此这不会是问题所在。有什么想法吗?

最佳答案

8 秒的执行时间也长得离谱 - 并且这表明您没有正确为表建立索引。因此,从表中获取数据需要很长时间。它也可能使用临时表。

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

关于php - PDO fetchAll 需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14397922/

相关文章:

php - PDO 功能错误

php - MySQL获取HH :MM之间的时间

php - 使用 php 打开文件并加载文本

php - 准备查询时如何删除任何字符串的引号

mysql - 不能用 PDO 设置 NULL

php - PDO 准备带破折号的 bindParam 不起作用

php - 使用SQL从mysql表中选择数据

php - htmlpurifier 删除内联 css

javascript - mysql 查询错误 "Unhandled promise rejection"

php - sql 结果显示在 phpmyadmin 上,但不将记录返回到我的网站