这样的数据库(表)怎么设计
我的数据库里面只有一张表 是直接从excel倒过来的。
但是每个月都会有一张新的表过来,也就是要把新表旧表都存下来,组成数据仓库。
现在用的是mysql方便我用java做后期操作。
每个月的表改动大概是十分之一的内容,其中有一些行被删掉,还有一些改动的数值,或者有新的内容加上来
请问这样的数据库怎么设计。
我是这样想的:每个月原封不动的保存新表,用的时候把两张表拿出来比较。可是这样实在是太慢。
大伙有什么想法吗?
谢谢
[解决办法]
如果每个月的数据是全量,新数据导入后,全部使用新数据,那就比较好分析。
建议
1. 先建张历史表 table_his (增加一个字段 - 时间戳,便于翻旧账)
2. table_his 存储所有历史数据
3. 原 table 只存储 最近一次的新数据
再修改一下每个月的导入步骤
1. table 导入 -> table_his (记录打上时间戳,标记一下)
2. 清空 table 表数据
简单说,上面2步,就是移动数据 -> table_his、并标上时间记号
3. 导入数据至 table
当然,如果移动 table_his 时,怕忘了源(table)数据的正确时间,也可以在 table 上增加时间标记,这样在移动数据时,就不用费心了。 费心的事,就在插入table 表数据的操作上了。
大致分析结果如上,希望能帮到楼主。
PS. 上面的方案,只是全量数据时有用,每个月的数据只是增量,就不适用了。
[解决办法]
如果这样,则应该把所有数据存储在一张表中。 加个月分的字段。