优化MySQL多对多查询

时间:2010-01-30 10:11:33

标签: mysql optimization query-optimization

我在让MySQL在多对多查询中使用索引时遇到问题,我已粘贴下面的相关信息。

EXPLAIN  SELECT *
FROM interviews
JOIN interview_category_links ON interviews.id = interview_category_links.inter_id
JOIN categories ON interview_category_links.cat_id = categories.id
WHERE categories.category_safe = 'news'
ORDER BY date DESC
LIMIT 15 

id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra
1  SIMPLE  categories  ALL  PRIMARY,id  NULL  NULL  NULL  16  Using where; Using temporary; Using filesort
1  SIMPLE  interview_category_links  ref  inter_id,inter_id_2,cat_id  cat_id  4  devel.categories.id  893   
1  SIMPLE  interviews  eq_ref  PRIMARY  PRIMARY  4  devel.interview_category_links.in...  1

在类别表上我有索引(id,cat_id),在interview_category_links表上,我同时拥有(cat_id,inter_id)和单个索引(cat_id)和(inter_id)

1 个答案:

答案 0 :(得分:1)

你有面试指数(id)吗?

如果您删除了“按日期排序desc”,该怎么办?查询运行得更快吗?如果是这样,您可能想要为该字段添加索引(我假设,这是访谈表中的一列)。