首先,快速解释我目前的情况:
我的网页包含(约40个分类)过滤器列表和400多种产品列表。
我使用Ajax获取产品列表。默认情况下会显示20个产品,但滚动到底部时会添加更多产品。用户可以通过单击所需选项来过滤结果。它就像一个简化的ebay。唯一不同的是,当我点击过滤器时,我不会重新加载页面,而是使用Ajax来获取我的产品。
现在,ebay在每个过滤器选项旁边都有这些数字,它显示了单击该选项时获得的结果数量。我的问题是,显示这些数字的最佳方式是什么?
我的方法是为每个过滤器选项运行一个sql查询(SELECT COUNT(id) FROM sometable WHERE filter='something'
)。但是,这意味着我必须在加载时运行大约40个查询,并且每次用户单击一个选项(使用Ajax)。这似乎是沉重的服务器负载,或者我错了吗?
答案 0 :(得分:0)
我将采用我的第一种方法,但现在我正在使用UNION
查询来获取所有计数。这样我只需要为每个过滤器运行1个查询而不是1个查询。