将大型临时表保存到Perm表中,SQL Server

问题描述 投票:0回答:1

正在编写一些进程以对某些数据进行预格式化,以供其他下游进程使用。预格式化实质上涉及从一个DB中的几个永久表收集数据,应用某种逻辑,然后将结果保存到另一个DB中。

我遇到的问题是数据量。我需要提交的结果数据集大约有1.325亿行。提交本身需要将近2个小时。我可以通过将日志记录更改为简单来减少该记录,但是它仍然是相当可观的(因为将1.325亿行的数据生成到临时表中仅需9分钟)。

我一直在阅读迁移大型数据的最佳方法,但是大多数解决方案都隐式地假设源数据已经驻留在单个文件/数据表中(此处不是这种情况)。一些解决方案,例如使用SSMS任务选项,使得难以嵌入我需要的某些逻辑应用程序。

想知道这里是否有人可以解决问题。

sql-server performance data-migration
1个回答
0
投票

假设您使用的是SQL Server 2014或更高版本,临时表不会立即刷新到磁盘。因此区别可能只是磁盘速度。

尝试将目标表设为Clustered Columnstore以优化压缩并最小化IO。

© www.soinside.com 2019 - 2024. All rights reserved.