首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有办法将旧数据保存在Server中长达10年?

是否有办法将旧数据保存在Server中长达10年?
EN

Stack Overflow用户
提问于 2022-11-16 14:19:58
回答 1查看 43关注 0票数 0

我正在开发一个在SQL数据库中存储大量数据的软件应用程序。一个用于在线事务的数据库,另一个用于存储来自在线数据库的归档数据的报告数据库。有一个迁移线程不断地将事务从联机复制到报表数据库。

通常会清除联机数据库,使其只保留有限的数据,并使报表数据库的数据保存时间更长。

最近的请求之一是将数据保存在报告数据库中10年,但这肯定会影响报告查询的性能。

我正在考虑为reporting中的每个表创建一个PurgedRecords表,该表存储已清除的记录,并将有限的数据保存在实际表上。我不是SQL方面的专家,但我认为应该有更好的方法来实现它。另一个选项是在不清除的情况下使用复制的报表数据库。

请分享你的想法。

SQLServer2019标准/企业应用程序侧: C#.NET Windows。.NET 4.8

EN

回答 1

Stack Overflow用户

发布于 2022-11-17 02:18:45

最近的请求之一是将数据保存在reporting数据库中10年,但这肯定会影响报告查询的性能。

如果您的数据库架构正确,则不会。如果您有效地设计和实现数据库,rest中的数据大小不会对性能产生影响。

B树索引具有O(log(n))搜索时间复杂度,速度非常快.对于聚合和列类型的查询,Columnstore索引也非常快。尽管Stu提出了一些评论,但是很少需要对表本身进行分区,因为索引已经以比线性分区更有效的方式为您划分数据。

如果您需要更具体的建议,请提供表、索引和查询定义以及它们的实际执行计划。

长话短说,在你遇到并充分理解你的根本性能问题之前,不要过早地过度优化。我这样说的经验来自“大数据”,在温和的硬件和次秒的查询时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74462064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档