紧急求助:分区表能通过分区视图实现分布式存储吗?
我们的结构是两台服务器,一台存放最近三个月数据,另一台存放归档的历史数据,问题是需要对外提供全部数据的实时访问,我知道分区视图是有这个能力的,但分区视图要管理太多的独立表,维护成本很大,是否可以在历史数据库中建立分区表,然后两台服务器用分区视图实现分布式?
------解决方案--------------------
就像你说的,创建分区视图需要维护很多表。而且本身你的数据库已经分成了两个库的两个表,所以直接创建视图UNION ALL就可以了。当然你的历史信息表可以做Partition.
------解决方案--------------------
分布式多表联合查询,肯定会对性能有影响,至于严重与否,涉及的条件较多。网络,io,索引优化,磁盘等等。
另外,加快查询不一定要新建索引,利用好现有的索引,或者读写分离也是可以考虑的方法(结合需求)
总之,在性能和数据量之间寻找平衡点是永远没有尽头的,够用就好。
------解决方案--------------------我觉得你可以在查询之前做判断,如果确定区间是近三个月的那么就直接查询当前数据库,如果是三个月之前的查询历史的,如果落到两个区间查询视图数据。