我们正在创建具有相同结构的客户端智能多表,以减少操作事务的负载
但现在我们需要合并所有客户的报告。处理这种情况的最佳方法是什么?
每个表有200k - 300k行,超过100个客户端可用(100个表)
我可以创建转储表吗?或任何其他方法
答案 0 :(得分:1)
尝试从OLTP数据库卸载报告,尤其是在这种情况下。
这意味着在另一个数据库中创建一个单表数据仓库,根据需要对其进行非规范化和索引,并以适当的间隔加载它。
通过这种方式,您既可以获得报告速度,也不会减慢插入速度。只需要与客户就数据的延迟达成一致。
答案 1 :(得分:0)
根据您的报告需求使用视图:
create view omni
as
select 1 as client_id
, *
from tab_1
union all
select 2 as client_id
, *
from tab_2
union all
[...]