我应该将合并金额保留在单独的表格中吗?

时间:2013-08-09 11:55:57

标签: c# sql-server database

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

PositionID,PortfolioCode,SecurityAccount,Custodian,Quantity

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

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

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

此外,如何将源表与统一表同步?

1 个答案:

答案 0 :(得分:5)

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

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

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

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