须要就是通常新闻都会有不少的子类,而子类又有标签,又有精选、热门等等。性能
一方面要先把大类下的全部子类找出来,而后根据标签找。code
` SELECT * FROM w_news_list a left join w_flag_value c on a.id=c.nid WHERE a.cid IN (9,10,11,12,13,14,15,17,19,1) GROUP BY a.id ORDER BY a.id DESC LIMIT 0,12索引
` 我这里都不到10000条记录,执行的时候已经超过12秒了。图片
用了explain分析以后 发现c表没有用索引ci
用了索引以后 速度仍是很慢it
看来不是索引问题 接下来 我换种思路 原本是一对多的,如今变成多对一的形式 SELECT * FROM w_flag_value c left join w_news_list a on a.id=c.nid WHERE a.cid IN (9,10,11,12,13,14,15,17,19,1) GROUP BY a.id ORDER BY a.id DESC LIMIT 0,12
im
这样子以后性能就上来了,img