我有文章,类别以及它们之间的多对多关系。该关系非常简单,它只是一个具有(articleId,categoryId)字段和复合唯一索引的表。
大约有100.000条文章和30个类别。每篇文章不超过3个类别。我可以删除联接表并改为添加categoryId1,categoryId2,categoryId3列。
上一个查询是:
select * from articles join a2c on (articles.id = a2c.articleId) where a2c.categoryId = N
不是:
select * from articles where categoryId1=N or categoryId2=N or categoryId3=N
您如何看待这种优化?应该为categoryIdN列添加哪些正确的索引?