sql-server – 存档旧数据
|
由于我们的数据库太大,我们目前遇到了一些性能问题.存在过去10年的数据,我没有看到为什么超过2年的数据必须与新数据存储在同一个表中的原因. 既然我在管理数据库方面没有非常丰富的经验,我正在寻找存档旧数据的最佳方法. 信息 >数据库中总共有大约310’000’000条记录. 我考虑过两种可能性: 新数据库 创建类似于生产服务器上的数据库,并将所有旧数据插入新数据库中. >缺点:由于我们的环境中不允许链接服务器,因此如果需要,很难加入旧数据 历史架构 创建一个新的架构f.e. [hist]与生产数据库中的表相同.在新架构中的这些新表中插入所有旧数据. >优势:如果将来需要旧数据,可以轻松加入 >您是否优先考虑其中一种解决方案? >为什么? >有没有更好的可能性? 提前致谢 编辑 附加问题: 新创建的存档表是否还需要主键/外键? 或者他们应该只有列但没有键/约束? 解决方法我认为你的许多问题的答案都取决于它.你有什么性能问题?似乎不寻常的是,数据库只会从增长到250GB的大小出现性能问题.也许您的查询在整个事实表上执行表扫描,即使只需要日期范围的一小部分(例如,去年)?如果存在对优化最重要的特定查询,请考虑在另一个问题中发布架构,查询和实际执行计划,以查看是否可以对其进行优化.
(编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – SQL Server的MAXDOP设置算法
- sql创建数据库有中文乱码是啥原因?如何处理?
- sql-server – 我们应该将数据库移动到我们的(共享)Web主机
- entity-framework – SQL FileStream Entity Framework存储
- sql-server – 成功配置SQL Server进行数据库镜像后,收到错
- sql-server – 每次执行触发器编译吗?
- sql-server – SQLCMD命令无法插入重音符
- sql-server – 当主表更新时,外键是否自动更新?
- sql – 按两个字段的总和排序
- sql – 如何在一行中选择多列的AVG


