mysql联表查询优化技巧

执行以下sql:

explain select gc.*, g.title from  t_goods g , t_goods_cover gc where g.goods_id = gc.goods_id and g.category_id = 44 ;

 

explain 默认第一行出现的表就是驱动表,由查询优化器自动选择,影响的rows是9462行,查询效率很低

 

 

 

#关联查询优化要点
#1. 外键上加索引
create index idx_goods_id on t_goods_cover(goods_id);
#2. 查询条件上加索引
create index idx_category_id on t_goods(category_id);

优化后同样的sql查询结果,驱动表的影响行数rows下降到74,查询效率大大提高了

 

posted @ 2020-08-04 15:34  wuxiaomiao  阅读(2605)  评论(0编辑  收藏  举报