【发布时间】:2016-10-06 05:58:13
【问题描述】:
我有一张自 2011 年以来每天插入数百万条记录的表。仅该表的数据大小就增长了 800GB 以上。对我来说只有最近 3 个月的数据被频繁查询,而对于较旧的数据,查询很少需要完成,可以在离线模式下完成。
问题 1:该表有一个日期列,我想将 3 个月之前的所有数据存档在文件中,以便我可以将它们移动到另一个存储中。那么什么是满足要求的最佳方法,我不想将数据保留在备份 mssql 服务器上。
A.创建 SSIS 包以将历史数据转储到 csv 中,并按月份或日期名称压缩文件。当需要时,SSIS 包可以读取文件并加载到数据库中。这项工作将每天或每周安排一次。 B. 编写一些 JAVA 或 python 代码来完成同样的工作。 C. 还有其他选择吗?
问题 2:一次只执行一个日期的查询。在查询此表时,会与其他一些元表连接。那么我应该在我的表中添加分区以获得更快的查询性能吗?
【问题讨论】:
-
如果您有足够的 SQL Server 版本,请考虑使用表分区。你有什么版本(Express、Standard、Enterprise)
-
是标准版。
标签: sql-server sql-server-2008 ssis