Web 计算多个多对多链接表的结果的最佳方法

Web 计算多个多对多链接表的结果的最佳方法,web,many-to-many,rdbms,Web,Many To Many,Rdbms,我正在使用php和mysql进行eshop。当在每个类别的产品部分时,我需要一个nav,包含所有适用品牌和产品数量。我的问题是,类别和产品是一个多对多的关系,就像产品和兼容品牌一样。因此,在查看类别时,最简单的方法是获取所有产品(通过products\u categories表),对于每个产品,获取所有兼容的品牌(通过products\u brands表)并对其进行计数。从我的研究中,我还发现多个表上的连接非常昂贵,在这种情况下,需要4个连接。我的另一个想法是创建表来保存这些信息,但在添加/删除

我正在使用php和mysql进行eshop。当在每个类别的产品部分时,我需要一个nav,包含所有适用品牌和产品数量。我的问题是,类别和产品是一个多对多的关系,就像产品和兼容品牌一样。因此,在查看类别时,最简单的方法是获取所有产品(通过products\u categories表),对于每个产品,获取所有兼容的品牌(通过products\u brands表)并对其进行计数。从我的研究中,我还发现多个表上的连接非常昂贵,在这种情况下,需要4个连接。我的另一个想法是创建表来保存这些信息,但在添加/删除类别、产品、品牌等时,这将需要额外的操作,并可能导致维护噩梦。有更好的方法吗?
谢谢你

我不确定你是否能逃脱给定设计的连接。通过在产品类别和产品品牌之间创建视图,您可以稍微改进。这将使您能够更好地优化从不同上下文(产品、类别、品牌)查询这些数据的方式。我将分别查询这些表,并在其上放置缓存策略,让客户机处理用描述整理ID,而不是连接主表进行描述。希望这是有意义的