c# - 将历史数据保存在数据库中

标签 c# sql sql-server database optimization

<分区>

将过去的数据保存在数据库中的最佳做法是什么?例如,假设我们在薪资解决方案中有像 AttendanceTransSalaryTrans 这样的事务表。所以每个月我们都必须向这些表中插入成百上千条新记录。所以所有过去和当前的数据都在同一个表中。

另一种方法是保留AttendanceHistorySalaryHistory 表。因此,在每个周期(月)的末尾,我们在将数据复制到各自的历史表后清空 Trans 表。

在考虑性能、报告生成的难易程度、编码和维护的难易程度等因素时,最佳解决方案是什么?

注意:RDBMS是SQL Server 2008,编程环境是.NET (C#)

最佳答案

一般来说,您应该将所有数据保存在同一个表中。 SQL Server 非常擅长处理大量数据,如果一切都集中在一个地方,它将使您的生活变得更加轻松(报告、查询、编码、维护)。如果您的数据被适本地编入索引,那么每月有数千条新记录就没问题了。

关于c# - 将历史数据保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968853/

相关文章:

c# - 数据库错误: "Could not find stored procedure ' sp_insert"

sql - 非 NULL 值的 ISNULL/COALESCE 对应物

python - 只读 SQL.. 周围有 DSL 吗?

sql - 从 Visual Studio 调试 SQL Server 2005 中的存储过程?

sql-server - 日期格式为 dd/MM/yyyy hh :mm:ss

c# - 是否可以在 ASP.NET MVC3 中检索某个 Url 字符串的 Controller 实例?

c# - 通过在 datagridviewcolum 中指定 DefaultCellStyle.Format 值来显示百分比

c# - EF 6 代码首先生成 View 空错误

c# - Windows身份验证模式但不是必需的

sql - Oracle 最小值和最大值(相同值)