我正在公司内部讨论如何在这个问题上循环查询:
$sql = "
SELECT foreign_key
FROM t1";
foreach(fetchAll($sql) as $row)
{
$sub_sql = "
SELECT *
FROM t2
WHERE t2.id = " . $row['foreign_key'];
foreach(fetchAll($sub_sql) as $sub_row)
{
// ...
}
}
而不是像这样使用sql连接:
$sql = "
SELECT t2.*
FROM t2
JOIN t1
ON t1.foreign_key = t2.id";
foreach(fetchAll($sql) as $row)
{
// ...
}
关于这个的额外信息,数据库是巨大的,数百万行.
我当然搜索了这个问题的答案,但是没有人能够以一种好的方式回答这个问题并且通过大量的投票让我确信一种方式比另一种更好.
题
有人可以向我解释为什么其中一种方法比另一种更好?
最佳答案
原文链接:https://www.f2er.com/mysql/434104.html