繁体   English   中英

MySQL嵌入式SELECT与JOIN相比

[英]MySQL Embedded SELECTs vs. JOINs

以下两者之间是否存在明显差异:

SELECT userid, username, userdept,
    (SELECT deptname FROM depts WHERE deptid=userdept) AS deptname
    FROM users

SELECT userid, username FROM users
    INNER JOIN depts ON depts.deptid=users.userdept

哪一个更好?

您的第二个查询具有更好的性能

你可以看到这个例子: http//www.codersrevolution.com/index.cfm/2008/7/31/MySQL-performance-INNER-JOIN-vs-subselect

你也可以在SO上看到关于这个主题的许多讨论

这两个查询不是同义词。

如果用LEFT JOIN替换INNER JOIN ,它们将是同义词,但如果deptid不唯一则子查询会失败,而LEFT JOIN将始终成功。

如果depts.deptid上有一个UNIQUE索引(最可能的是,因为这个字段很可能是一个PRIMARY KEY ),那么性能差异可以忽略不计。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM