背景
因业务数据量太大,所以正常业务场景仅支持进一个月的数据, 数据表: tb, 历史30天前的数据,一次存入备份表tb_202006,tb_202005,。。。
现,需求,后台不仅支持tb表的查询,还要根据时间范围查询备份表的数据
解决
select * from tb where [查询条件] union select * from tb_202006 where [查询条件] order by id desc limit 0, 100
通过union语句,将多表数据累加在一起,统一order, limit。
业务场景中,根据筛选的时间范围,确定需要累加的所有数据表,然后进行sql组装即可