历史数据存储及设计问题,求助!
这个问题涉及的是一个低保金发放的项目,每个月某个城市会发放一次低保金,这些低保金发放记录需要保存起来,以供台账查询及数据统计时使用。每个月大约产生100W的发放记录。这样历史数据表持续的数据增长严重损耗历史数据表与其他表关联查询时的性能。
目前我想到的解决方法是:
新建一个历史数据库,每个月创建一张历史表,存储当月的发放记录,并且将发放时的快照数据一并存在数据表中,快照数据指发放家庭的家庭成员情况。这样做确实可以减少查询的压力,但是缺点也很明显,按月查询、统计的时候存储过程会相对复杂很多。
请教大家对这个问题的看法和见解!
------最佳解决方案--------------------可以考慮,
1.家庭成員信息與發放記錄分開。
2.發放記錄表可以考慮分區表來實現,按月份進行分區。上年數據可以考慮遷移至另外一個數據庫中。
3.對於統計數據,可以考慮把統計結果,設計實表來保存,方面日後查詢,不用每次都對發放記錄表進行統計,這樣可以減少服務器負荷,提高查詢性能。
------其他解决方案--------------------自己先顶起...
------其他解决方案--------------------持续关注,有类似的问题,每月有600W左右的数据。
------其他解决方案--------------------
你们目前是怎么处理的呢?
------其他解决方案--------------------历史数据最好分到一个单独的库甚至服务器,也可以做分区表(但是这个不要随便用)。
------其他解决方案--------------------
各地的数据异步上传的,直接用的SqlDataAdapter.Update(dataset)