我的应用程序是一种POS系统。 问题在于报告。每个产品,每个表,每个员工,类别的销售额。有1年的日期范围报告是非常缓慢的,因为他们必须总结很多行等。所以我想知道一个无sql数据库是否可以帮助,如每天有什么摘要或东西..但也许它不容易因为可能有每个项目*产品*类别*员工等查询。那我该怎么办?
答案 0 :(得分:5)
如果您对关系数据库感到满意,我建议您坚持使用它们,并使用每日汇总表来处理您常用的报告。
例如,如果要按产品编号分组销售报告,请确定您要查找的统计信息(即销售数量),并按产品编号将原始数据汇总到日期大小的“桶”中。
+-----------+------------+------------+-------+-------+
| salesdate | productNum | totalSales | stat2 | stat3 |
+-----------+------------+------------+-------+-------+
如果您在每天结束时使用日间大小的水桶,您的报告每月只会有30个水桶,或者每年只有365个水桶。总结要快得多。在构建仪表板(小时存储桶)时,我已经使用网络性能指标完成了这项工作,并且大大缩短了查询时间。如果需要,您可以随时深入了解原始数据,但对于希望一目了然的普通用户来说,聚合桶就足够了。
您也可以考虑将摘要表放在单独的数据库中。
请记住,如果您的平均值之一,一系列平均值的平均值不是整个范围的平均值。