【发布时间】:2020-12-18 11:20:19
【问题描述】:
我有一个查询在 PHPMyAdmin 中需要 0.0002 秒,如果我从 PHP 中执行则需要数百秒。这里是:
SELECT id, id_pages, link, childlink, url, hiddencontent, cansearch,
(
SELECT p.id
FROM pages as p
WHERE pages.hiddencontent=1
AND p.id_pages IS NOT NULL
AND p.hiddencontent=0
AND pages.id=p.id_pages
order by p.npp asc
limit 1
) as id_firstchild
FROM pages
它返回大约 24k 行,我不知道为什么需要这么长时间。我的朋友在他的电脑上试过,它运行得很快,他的电脑也不是更好。我不知道这种 PHP 行为的原因,也许我应该在配置文件中进行一些更改?
【问题讨论】:
-
PHPMyAdmin 仅显示并获取少数第一行。您现在已经显示了您的 PHP 代码,但是如果您全部获取 24k 行,则获取和显示它们可能需要一些时间。为了改进未来的问题,请显示您的 PHP 代码并从带有表定义的查询中解释。
-
请阅读此stackoverflow.com/tags/query-optimization/info。那么请edit你的问题。请记住,phpmyadmin 会附加
LIMIT 50或类似于它运行的每个查询的内容。 -
24k 行很多。你真的必须同时与他们一起工作吗?
-
@el-vanja 是的,我使用的脚本是为网站创建 URL,因此它需要我在表中的所有行。问题是它在某个地方运行得非常快,但在我的电脑上却不行,所以我想也许有人知道它为什么会发生
-
您真的希望在您的页面中显示 24k 的网址吗?
标签: php mysql query-optimization