2个表联合查询select a.* from a left join b on a.news_id= b.news_id where a.news_id= xxxx;
然后EXPLAIN一下。
结果:
为啥a没有走索引? 这边我设置A表的news_id为索引最好能解释一下这些字段。官方网站上的东西我有点看不明白。小弟在此谢了参考文档:
http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#explain

解决方案 »

  1.   

    show index from a;检查一下你的索引情况。 很多种情况下索引会“失效”比如当索引中所有的值都相同,则MYSQL会认为没必要走索引。
      

  2.   

    这种多表连接查询,mysql一半都是选取a表中一条,然后到b表中查找,此时可以使用b表中的索引,然后重复这个动作,直到a表中的数据全部查询完。所以a表肯定是要全部扫描的,不管有没有索引!