Mysql 对于此查询,使用Join关键字和不使用Join关键字哪个更好
我有超过15000000行的md_成员表。。。要获得更好的性能-使用join关键字连接查询/不使用join关键字连接查询Mysql 对于此查询,使用Join关键字和不使用Join关键字哪个更好,mysql,Mysql,我有超过15000000行的md_成员表。。。要获得更好的性能-使用join关键字连接查询/不使用join关键字连接查询 Select mem_fname ,mem_lname ,mem_mobile ,mem_email ,wda_first_login ,a.updated_on as wda_last_login From wda_article_log as a,md_members as b where b.mem_id=a.me
Select
mem_fname
,mem_lname
,mem_mobile
,mem_email
,wda_first_login
,a.updated_on as wda_last_login
From wda_article_log as a,md_members as b
where b.mem_id=a.mem_id and a.article_type=1 and b.wda_status=1`
显式
内部联接
和逗号语法在性能方面是等效的。您可以检查两个版本的explain
的输出,它们将生成相同的查询计划
这些运算符的优先级不同,因此如果混合使用它们,可能会有一些令人不快的惊喜,但在问题中的查询中,情况并非如此
使用显式
内部联接
而不是隐式联接的原因是,由于联接条件和筛选条件彼此分离,因此代码可读性更好 您看过MySQL explain命令的返回值了吗?不确定我的sql的行为如何,但有人告诉我,用于此类查询的MS sql使用内部联接创建执行计划。但是显式地提供内部联接可以确保它使用的是join plus,这会使它更具可读性。我想,通过良好的索引,您将获得最高的性能(至少在两个表中的mem_id上—如果不是主键的话—甚至可能是文章类型和/或wda_状态)