Sql 如何处理具有相同结构的多个表的合并报告?

Sql 如何处理具有相同结构的多个表的合并报告?,sql,sql-server,database,performance,Sql,Sql Server,Database,Performance,我们正在创建具有相同结构的客户端多表,以减少操作事务的负载 但现在我们需要对所有客户进行合并报告。处理这种情况的最佳方法是什么 每个表有200k-300k行,有100多个客户端可用(100个表) 我可以创建转储表吗?或任何其他方法使用视图满足您的报告需要: create view omni as select 1 as client_id , * from tab_1 union all select 2 as client_id , * from tab_

我们正在创建具有相同结构的客户端多表,以减少操作事务的负载

但现在我们需要对所有客户进行合并报告。处理这种情况的最佳方法是什么

每个表有200k-300k行,有100多个客户端可用(100个表)


我可以创建转储表吗?或任何其他方法使用视图满足您的报告需要:

create view omni
    as
select 1 as client_id
     , *
  from tab_1
 union all
select 2 as client_id
     , *
  from tab_2
 union all
   [...]

尝试从OLTP数据库中卸载报告,尤其是在这种情况下

这意味着在另一个数据库中创建一个单表数据仓库,根据需要对其进行非规范化和索引,并以适当的间隔加载它


这样既可以加快报告速度,又不会降低插入速度。只需与客户就数据延迟达成一致。

ms sql server或mysql?“2到3万行”-多少钱?20万或30万,数据库-ms sql server您正在为每个客户端创建单独的表?那很少是个好主意,没关系。它非常慢,我们有动态表命名,你说的动态表命名是什么意思?名字会随着时间而改变吗?也许您想更具体地说明您需要什么,并提供所有关于您的问题的信息。对不起,不是动态表名称我想在报告时选择随机客户端表我只想获取某个客户端的报告