sflong 发表于 2008-9-1 17:12:52

多表关联查询的优化

select as.name as asName,count(al.as_id) as asNum
from
      a inner join m on a.id = m.a_id
      inner join mton 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是不是一样的,即用逗号方式连接的多表查询是不是就相当于外连接?
页: [1]
查看完整版本: 多表关联查询的优化