后端存储14(存档历史数据提升查询性能)

解决海量数据导致存储系统慢的问题,思想非常简单,就是一个“拆”字,把一大坨数据拆分成 N 个小坨,学名叫“分片(Shard)”。

当表数据量过大影响到查询性能时,首先应考虑到———存档历史数据。

归档历史数据,大致的流程是这样的:

1,首先创建一个和原表结构一模一样的历史表;

2,然后,把订单表中的历史订单数据分批查出来,插入到历史表中去。(这个过程,怎么实现都可以,用存储过程、写个脚本或者写个导数据的小程序都行)

3,现在原表和历史表都有历史数据,先不要着急去删除原表中的数据,应该测试和上线支持历史表的新版本代码。等新版本代码上线并验证无误之后,就可以删除原表中的历史数据了。最后,还需要上线一个迁移数据的程序或者脚本,定期把过期的数据从原表搬到历史表中去。

批量删除大量历史数据需要注意:分批删除!

如果可以停服,最快的方式是重建一张新的表,然后把近期某段时间内的数据复制到新表中,再通过修改表名让新的表生效。

你可能感兴趣的:(后端存储14(存档历史数据提升查询性能))