有个需求是这样,存在大约 15w 条货品记录,现在需要可以计算过去某天或者某个时间段的货品的数量,这个应该如何来存储呢? 现在想到的方法是,开一个数据库,然后每天 0 点存储记录,但是这个很快就会爬升到很大的数据量了, 10 天就上百万了。
1
7654 2016-09-12 12:32:38 +08:00
增加货品数量变更记录,然后按时间查询汇总即可
|
2
pepesii 2016-09-12 12:38:22 +08:00
先 ORDER BY YEAR(datetime), MONTH(datetime), DAY(datatime);
把结果放到另外一个表,然后去查询某个时间段;这样行吗? |
3
pc10201 2016-09-12 12:44:40 +08:00
时间序列数据库?
|
4
zencitta 2016-09-12 12:58:06 +08:00
实时算比较方便, UI 上做好点就好了
|
5
zencitta 2016-09-12 12:59:51 +08:00
给用户感觉不是系统慢,而是他的数据太多。要优化再加钱。
|
6
stargazer242 2016-09-12 13:09:14 +08:00
这不就是库存吗
|
7
dl2k 2016-09-12 13:18:25 +08:00
楼主没有讲清楚需求,可以存在多种解读。
|
8
jint 2016-09-12 13:45:29 +08:00 via iPhone
如果数据变化不大,每天只存有变化的商品,变化大,那就必须承担数据量。
|
9
aru 2016-09-12 14:04:28 +08:00
如果觉得记录太多了,可以合并记录。设计一个表 ,字段为 id,时间, json 后的商品 id 到库存字典
不过这个库存字典数量可能比较大,可以考虑按照商品 id 分成若干个字典,比如根据商品 id 的最后一位来划分 |
10
laobaozi 2016-09-12 19:12:53 +08:00 via iPhone
增加一个货品变动纪录表,关联货品 ID ,货品状态 1 ,货品状态 2 ,修改日期
每次对货品操作 货品状态 1 纪录操作前的状态,货品状态 2 纪录操作后的状态 假设货品状态 库存=1 在途=2 已售=3 然后技能愉快的按日期 select 了 吗???? |
11
reus 2016-09-13 02:31:35 +08:00
一年也才几千万,算什么大……
而且可以定期打包,移出数据库啊 |