.net - 数据库表复制指南

标签 .net sql-server database linq-to-sql

我有一个恒定的数据流量。所有数据都必须与时间戳一起存储到数据库中。数据每隔 5 分钟进来一次,并在相同的时间间隔内选择最新的数据,伪 SQL 代码:

SELECT * FROM TB_TABLE WHERE TIMESTAMP = MAX(TIMESTAMP)

随着这个表变得非常大(千兆字节),我做了一个过早的优化,将它分成两个表:一个用于所有数据(仅用于插入),另一个用于最新数据(用于插入、删除和选择)。

我想知道这种重复是否是一件好事,因为我没有任何指标可以证明它提高了我的应用程序性能。作为一般准则,您会推荐我所做的吗?

更新 顺便说一句,我使用 MS SQL Server 2005 和 .NET C# Linq-To-Sql

最佳答案

将具有高输入量的表拆分为写入优化的“最近”表和读取优化的“存档”表通常是一个很好的优化。它确实增加了复杂性,因此您不想在不需要的地方执行它,但如果您确定所讨论的表将获取大量数据,这是合理的。

关于.net - 数据库表复制指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787236/

相关文章:

sql - 数据库性能和数据类型

c# - 使用XML存储数据,如何使用Entity Framework?

php - Laravel:使用 Eloquent 检索父类(super class)的实例

c# - GetSqlValues 是否获取隐藏字段?

c# - MVVM Light SimpleIoC 与 Ninject

c# - 使用 X509 私钥在 dotnet core v2 (SHA256) 中签署数据

database - 环回: Cannot find module 'negotiator'

.net - EF4 代码优先 : defining object relationships, 外键

sql-server - "Must declare the variable @myvariable"ADO 参数化查询错误

sql-server - 如何使用 SQL 查询像父子一样显示层次结构行