当业务数据量非常巨大时,分表是常用的优化方式。一张表的数据量过大,这样在日常操作时速度非常缓慢。怎样提高它的响应速度?实际就是将一些不常用的数据移动到另一张表中,这里的另一张表叫历史表。历史表和原来的表结构一致。这样当前表由于只使用当前的部分数据,所以性能得到提高。因为实际业务中很少再去查询历史表,即使查询历史表由于使用的人也少,所以它的性能还能适应。
历史表引发一个骨牌效应。(流程)例如:购销合同,它由3张表构成。当合同主信息放在历史表中,相关的货物必须放到历史货物中,相关的附件必须放到历史附件中。
sqlDao(参见上一篇博客)实现归档和取消归档,归档:数据的批量新增(将当前表中的部分数据复制到历史表中),批量删除(将当前表的这部分数据全部删除),取消归档:与归档相反,数据的批量新增(将历史表中的部分数据复制到当前表中),批量删除(将历史表的这部分数据全部删除)。