我正在一个电子商务网站上销售书籍,同时也想在目录中显示可用书籍的数量。
分类列表包含类型和格式(口袋、电子书、有声书等)。在类型和格式的每一个元素中,我想从股票列表中显示可用产品的数量。当然,当您深入到层次结构中时,您将在该级别检索更详细的可用书籍信息。
例如,有2000本可用的“医学”类书籍,如果我选择“袖珍”格式,那么还有200本可用的书。换句话说,你已经把“口袋”和“医学”结合起来了,你现在知道,在“医学”类型中,总共有200本袖珍书。
我的问题是:
如何在不花费大量精力询问数据库关于每个元素中可用产品的数量的情况下创建该功能?你需要购买一个特殊的应用程序或插件吗?请记住,数据库里有数百万本书。

发布于 2011-08-25 06:37:01
每隔一段时间(24小时f.e.)预计算数据,然后缓存结果(这可以从特殊的优化表到文件缓存)。
没有人会数出书的数量,注意到只有1800本,而不是2200本,这只是为了指示,而且它不需要总是准确的。
发布于 2011-08-25 07:50:27
如果你想要100%的精确性.
定期计算当前情况并缓存它,然后再去检索自那时以来的更改。
“周期性”的时间段是基于数据量(向长周期倾斜)和变化量(向短期倾斜)的仔细平衡。保持良好的统计数据,这样你就可以随着平衡的变化而变化。
发布于 2011-08-25 11:49:57
我同意预先计算韦斯利·范奥普先生提出的数字的方法。他的方法将使您的在线处理不受类别变化的影响。
还有另一种选择,你可能想考虑。
您可以创建一个带有几个列的统计表,每个列表示在左手侧显示的树中的一个级别。
每次对一本书进行创建、更新或删除操作时,统计表相应列中的数字要么增加要么减少(此处提到更新图书类别,在这种情况下将对统计表进行2次更新)。您可以使用统计表来显示树。
这将保持准确的数字,并将使它非常迅速地显示您的数据。
https://softwareengineering.stackexchange.com/questions/103518
复制相似问题