执行以下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行,查询效率很低 

mysql 查询关联的表 mysql关联表查询优化速度_sql

  

#关联查询优化要点
#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,查询效率大大提高了

mysql 查询关联的表 mysql关联表查询优化速度_mysql 查询关联的表_02

 

加油啊,吴小喵