最近使用mysql,两表关联查询遇到悲催的事,查了些资料了也没能解决,粉丝用户表4W多,粉丝标签表2千多数据,一个查询下来19秒,受不鸟了 求且高人指路。
wx_fans表中,openid是主键,subscribetime是全文关键字索引,其他为普通信息字段;
wx_fans_tag_r表中,openid是全文关键字索引,该表只有俩字段,openId和tagId(也就是一对多,一个粉丝有多个标签的意思)
下面是查询语句: SELECT t.openid, subscribetime,createtime, subscribeStatus, nickname, nicknameStr, gender, country, province, city, headimgurl, STATUS, re,groupId, r.tagId FROM wx_fans t
LEFT OUTER JOIN wx_fans_tag_r r ON t.openid=r.openid WHERE 1=1
ORDER BY subscribetime DESC
LIMIT 0,20 以下是EXPLAIN sql的结果:
以下是 SHOW INDEX FROM wx_fans的结果:
以下是 SHOW INDEX FROM wx_fans_tag_r的结果: 求指点!!!!
wx_fans表中,openid是主键,subscribetime是全文关键字索引,其他为普通信息字段;
wx_fans_tag_r表中,openid是全文关键字索引,该表只有俩字段,openId和tagId(也就是一对多,一个粉丝有多个标签的意思)
下面是查询语句: SELECT t.openid, subscribetime,createtime, subscribeStatus, nickname, nicknameStr, gender, country, province, city, headimgurl, STATUS, re,groupId, r.tagId FROM wx_fans t
LEFT OUTER JOIN wx_fans_tag_r r ON t.openid=r.openid WHERE 1=1
ORDER BY subscribetime DESC
LIMIT 0,20 以下是EXPLAIN sql的结果:
以下是 SHOW INDEX FROM wx_fans的结果:
以下是 SHOW INDEX FROM wx_fans_tag_r的结果: 求指点!!!!
alter table wx_fans add key(subscribetime, opened);
alter table wx_fans_tag_r add key(opened)
explain select ....