gpt4 book ai didi

php - sql查询需要很长时间才能完成

转载 作者:行者123 更新时间:2023-11-29 04:33:55 25 4
gpt4 key购买 nike

我有两个关系表,我都需要其中的数据。第一个(主)表包含大约 90k 行。辅助表包含大约 200k 多行。

我需要将辅助表的一些数据添加到我从第一个表中获得的结果中,目前我分两部分执行此操作:

首先:我从主表中选择所需的行,速度非常快。

$records = getData($conn, "
SELECT id
from Main
where contains_tags is not null
and contains_mediums is not null
and contains_techniques is not null
limit 100
");

-然后我检查每条记录以添加来自辅助表的额外数据但这需要很长时间(100 条记录 1 分钟 50 分钟 - 5k 记录 100 分钟。最后我需要运行此查询大约 5-10k 行主表)。有没有办法加快这个过程?

foreach ($records as $r => $record) {
$records[$r]['mediums'] = getData($conn, "SELECT medium from mediums where kleding_id = ".$record['id']."");
kleding_id = ".$record['id']."");
}

这是两个查询完成后所需的输出:

[1] => Array
(
[id] => 15
[mediums] => Array
(
[0] => Array
(
[medium] => wol
)

[1] => Array
(
[medium] => katoen
)

)

)

所以我的问题是如何在尽可能短的时间内有效地运行这个查询结构。

主表如下所示:
enter image description here
辅助表如下所示:
enter image description here

如果有任何不清楚的地方,请告诉我,以便我澄清。

最佳答案

如果您需要提高性能确保你有一个合适的索引表介质列 kleding_id

CREATE INDEX my_index  ON mediums (kleding_id); 

请记住限制(对于不是最新的数据库版本)通常对结果 ..a 起作用并且在达到前 100 后不会中断

关于php - sql查询需要很长时间才能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50174490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com