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

标签 c# sql-server database

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

PositionID, PortfolioCode, SecurityAccount, Custodian, Quantity

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

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

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

另外,如何同步源表和合并表?

最佳答案

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

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

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

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

关于c# - 我应该在单独的表格中保留合并金额吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146122/

相关文章:

c# - 如何在 Linux 上的 C# 控制台应用程序中隐藏光标?

c# - .NET 中 SerialPort 类的问题

sql-server - 通过在 group by 子句中使用的字段上设置索引来提高性能?

sql - 动态SQL - 根据参数查询不同的数据库

sql-server - 数据库事务日志满的潜在原因及解决方法

ios - 关于核心数据库设计

database - Laravel - 从许多表中计算记录

c# - Activator.CreateInstance 和使用表达式之间有明显的区别吗?

sql - 如何从包含单引号的oracle数据库中搜索数据

c# - 如何将 CreateObject ("Wscript.shell") 翻译成 C#