我有一个系统有3个对象 - Brands
,Categories
和Products
。我使用Nhibernate作为我的ORM。loading的品牌 - >类别 - >产品hierarchy高效
产品被分配到一个brand
和多个Categories
。对于我们正在建设的电子商务网站,我们需要在左侧显示品牌菜单。对于每个品牌来说,这个想法是要展示只有该品牌产品的类别。
例如,如果我们有3个类别 - 露营,徒步和爬山,以及3个品牌A,B,C。如果品牌A没有属于“攀登”类别的产品,则该类别不会显示。
问题是如何有效地做到这一点。对于每个品牌,都需要检查每个类别,并检查当前品牌下是否至少有一个该类别的产品。有200个类别和20个品牌,在最坏的情况下,这会导致大约2000个数据库调用。
另一种选择是将所有产品加载到内存中,但如果有很多产品(20,000+),则这种方式也会变慢。
我可以做的任何想法/优化,使其负载更快?
您使用的数据库是? – Tridus