mysql left join 数据查询优化

 1、要用小表驱动大表

    select t.*,count(t3.id)  from table1 t

     left join table2 t2 on t.id=t2.tid

     left join table3 t3 on t2.id=t3.tid

     where 1=1

       limit 0,10

2、比如你要分页查询时候 最好把table1搞小一点,你可以如下面这样写

      select t.*,count(t3.id) from (select * from table1 where 1=1 limit 0,10)t

             left join table2 t2 on t.id=t2.tid

             left join table3 t3 on t2.id=t3.tid  #t3.id 要建立索引

     用第二种方法 你会发你的速度会随着表2和表3数据量加大,相比之下更快。

 

    

   

posted @ 2016-04-22 09:54  杨启辉  阅读(315)  评论(0)    收藏  举报