我有一个恒定的数据流量。所有数据都必须与时间戳一起存储到数据库中。数据每隔 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/