MySQL社区

标题: 多表关联查询的优化 [打印本页]

作者: sflong    时间: 2008-9-1 17:12
标题: 多表关联查询的优化
select as.name as asName,count(al.as_id) as asNum
from
        a inner join m on a.id = m.a_id
        inner join mt  on mt.m_id =m.id
        inner join al on mt.al_id =al.id
        inner join as on al.as_id=as.id
如上述sql所示,有a,al,as,m,mt五个表关联查询,上述关联都是通过外键的关联.且均为int类型的外键(关联其他表的主键).如此查询的话效率比较低,不知道怎么样可以优化一下?
     用inner join是否需要用括号的方式一层层的嵌套?

select a.name,b.age from a,b where a.id=b.a_id
select a.name,b.age from a outer join b on a.id=b.a_id
上面的两个sql是不是一样的,即用逗号方式连接的多表查询是不是就相当于外连接?




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2