1

我正在开发一个 C# 应用程序,它处理从关系数据库 (SQL Server) 中检索到的数百万条记录。我的主表“职位”包含以下列:

PositionID, PortfolioCode, SecurityAccount, Custodian, Quantity

用户必须能够检索由一些预定义的列集合合并的数量,例如 {PortfolioCode, SecurityAccount}, {Porfolio, Custodian}

首先,我只是在我的应用程序代码中使用了动态查询,但是随着数据库的增长,查询变得更慢。

我想知道添加另一个包含合并数量的表是否是个好主意。我想这取决于这些群体的分布?

此外,如何将源表与合并表同步?

4

1 回答 1

5

在 SQL Server 中,您可以使用索引视图来执行此操作,它会使聚合与基础表保持同步,但会减慢对基础表的插入:

http://technet.microsoft.com/en-us/library/ms191432.aspx

如果它纯粹是单个表中分组行的计数,那么标准索引在这里不够用吗?有关您的结构的更多信息将很有用。

编辑:另外,听起来有点像您将 OLTP 服务器用作报告服务器?如果是这样,您是否考虑过数据仓库和 ETL 流程是否合适?

于 2013-08-09T12:05:32.667 回答