定义三个表:t_subtable_log,t_dataclear_log,t_tablepart_strategy,用来保存子表名称,数据清除表名,数据存储策略(粒度、每个粒度表的存储个数)。
更加系统时间stat_time对给出的原始表名,得到表粒度,利用原始表此时间段的数据插入、或计算 insert info subtable插入子表中,同时在t_subtable_log中插入一条记录。
数据清除:从存储策略表中得到每个粒度表的存储个数,对粒度表进行判断,从t_subtable_log汇总进行统计,如果超过需要保存的个数,则对最小的时间子表进行drop table...cascade操作,这样drop表不会影响数据库的结构。
同理,如果数据库没有表空间时,可以对最久的数据子表进行drop操作,或改变存储策略,少保存子表数目。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9521459/viewspace-687619/
,如需转载,请注明出处,否则将追究法律责任。