gpt4 book ai didi

php - Mysql查询: joined or separate

转载 作者:行者123 更新时间:2023-11-29 14:18:14 24 4
gpt4 key购买 nike

我有两个表:

其中一个称为数据,每个 ID 只有一行(唯一)。第二个称为图像,每个 ID 有 3 行。

每次加载页面时,我都想获取恰好 5 个不同 ID 的数据和一张图像。

我现在的问题是:两个单独的 SELECT 查询或一个将两者连接起来的查询。

查询:

...

$all = $row["iD"] // includes **5** last iDs - fetched from DB
$all = implode(',',$all);

SELECT Name, Address FROM data WHERE iD IN($all);
SELECT url FROM images WHERE iD IN ($all) LIMIT 1;

我在页面上已经有 3 个其他选择查询,因此我想知道什么是性能最好的查询,一个较大的连接查询或两个较小的更快的查询。

如果加入,这两个将如何加入?

最佳答案

您每个 ID 有三张图像,并且希望每个 ID 一张图像用于最后插入的图像(也称为“最近内容”)?

然后您可以使用一种简单的自然连接与分组依据相结合,如下所示:

SELECT d.Name, d.Address, MAX(i.url) 
FROM data d, images i
WHERE i.iD = d.iD
GROUP BY d.Name, d.Address
ORDER BY d.iD DESC
LIMIT 5

大多数时候,最好结合选择来跳过编程开销(例如,在循环本身中调用 mysql_query())。但有时这取决于底层数据。

关于php - Mysql查询: joined or separate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214864/

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