須要就是通常新聞都會有不少的子類,而子類又有標籤,又有精選、熱門等等。性能
一方面要先把大類下的全部子類找出來,而後根據標籤找。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