`

mysql连表查询优化

 
阅读更多

mysql在做连表查询时,有时候用不到索引,这个时候就可以用explain来看一下查询计划

 

例如

EXPLAIN SELECT * FROM goods_base g JOIN `order` d ON d.goods_id=g.goods_id ;

这个虽然在g表和d表都为goods_id建立了索引,但是执行计划中,d表并没有走索引的

 

这个时候,如果要用到d表走索引的话,可以在where条件后面跟一个d表的索引条件查询即可

EXPLAIN SELECT * FROM goods_base g JOIN `order` d ON d.goods_id=g.goods_id WHERE d.order_status=1;

这里order_status必须得有索引,这样查询的话,就会用order_status这个索引项了



 


 

  • 大小: 15.2 KB
  • 大小: 16.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics