Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 对于此查询,使用Join关键字和不使用Join关键字哪个更好_Mysql - Fatal编程技术网

Mysql 对于此查询,使用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

我有超过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.mem_id and a.article_type=1 and b.wda_status=1`

显式
内部联接
和逗号语法在性能方面是等效的。您可以检查两个版本的
explain
的输出,它们将生成相同的查询计划

这些运算符的优先级不同,因此如果混合使用它们,可能会有一些令人不快的惊喜,但在问题中的查询中,情况并非如此


使用显式
内部联接
而不是隐式联接的原因是,由于联接条件和筛选条件彼此分离,因此代码可读性更好

您看过MySQL explain命令的返回值了吗?不确定我的sql的行为如何,但有人告诉我,用于此类查询的MS sql使用内部联接创建执行计划。但是显式地提供内部联接可以确保它使用的是join plus,这会使它更具可读性。我想,通过良好的索引,您将获得最高的性能(至少在两个表中的mem_id上—如果不是主键的话—甚至可能是文章类型和/或wda_状态)