explain SELECT m.*,u.username nickname,u.vip,u.appid FROM wwj_mingxi m left join wwj_user u on u.id=m.uid WHERE u.appid = 0 ORDER BY id desc LIMIT 0,20
索引也建了,但是查询还是要4s.还有方法优化吗
explain SELECT m.*,u.username nickname,u.vip,u.appid FROM wwj_mingxi m left join wwj_user u on u.id=m.uid WHERE u.appid = 0 ORDER BY id desc LIMIT 0,20
索引也建了,但是查询还是要4s.还有方法优化吗
从你的explain中能看出。一共检索 91585 行。4秒肯定索引建立不正确。 起到作用的索引 u.appid,m.user_id_ix。你应该 u.id ,m.uid 建立相应的索引或外键。
你那是明细表和用户表join吧。
5 回答1.5k 阅读
2 回答2.2k 阅读
3 回答766 阅读✓ 已解决
1 回答1k 阅读
1 回答695 阅读✓ 已解决
1 回答994 阅读
1 回答868 阅读
using temporary,using filesort ---表示用了临时表和文件排序,当然会慢了。
为什么会产生临时表和文件排序? 我猜是因为 你用m作为主表,又用了u.id作为排序,解决方法是: