Bil*_*rim 7 mysql sql join nested-queries
我有这个查询非常具体,并返回我需要的.众所周知,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));
Run Code Online (Sandbox Code Playgroud)
谢谢!
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
Run Code Online (Sandbox Code Playgroud)
如果您有很多:很多关系等,则 DISTINCT 就在那里,否则可能会创建重复项。
在优化方面,确保每个表在 JOIN 和 WHERE 子句中使用的字段上都有索引。