【问题标题】:Left join Vs Sub query Mysql左连接 Vs 子查询 Mysql
【发布时间】:2012-08-29 12:51:56
【问题描述】:

抱歉英语不好,

我有两个类似的查询

1)

select t1.id,case when t2.p_id IS NULL then 'Text' ELSE (select t3.data from t3 where t3.p_id = t2.p_id) END FROM t1,t2
WHERE t2.id = t1.id

还有一个查询

2)

select t1.id, t3.data 
FROM t1,t2 left join t3 on t3.p_id = t2.p_id WHERE t2.id = t1.id

以上两个查询哪个更快,为什么?

感谢您抽出宝贵时间。

【问题讨论】:

  • 使用explain select ... 来查看差异。
  • 您是否查看过两者的explain
  • 加入主键应该是有效的。

标签: mysql subquery left-join


【解决方案1】:

我没有详细阅读您的查询,但总的来说第二个查询的结构更好。

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多