gpt4 book ai didi

mysql - 将双重嵌套查询转换为 JOIN 语句,以及其他优化

转载 作者:可可西里 更新时间:2023-11-01 06:37:24 24 4
gpt4 key购买 nike

我得到了这个非常具体的查询,它返回的正是我所需要的。正如我们所知,mysql 中的嵌套查询在运行时方面可能非常糟糕。如果有人能帮助我将以下代码转换为 JOIN 语句,我将不胜感激。

当然,我们欢迎并鼓励任何其他优化。

SELECT title 
FROM exp_channel_titles
WHERE entry_id IN (SELECT rel_child_id
FROM exp_relationships
WHERE rel_id IN (SELECT field_id_202
FROM exp_channel_data
WHERE entry_id = 19971));

谢谢!

最佳答案

SELECT DISTINCT
titles.title
FROM
exp_channel_titles AS titles
INNER JOIN
exp_relationships AS rel
ON titles.entry_id = rel.rel_child_id
INNER JOIN
exp_channel_data AS channel
ON rel.rel_id = channel.field_id_202
WHERE
channel.entry_id = 19971

存在 DISTINCT 是因为您有许多关系等,否则可能会产生重复。

在优化方面,确保每个表都有您在 JOIN 和 WHERE 子句中使用的字段的索引。

关于mysql - 将双重嵌套查询转换为 JOIN 语句,以及其他优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096098/

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