sql-server – 插入大量行的最快方法是什么?
我有一个数据库,我将文件加载到一个临时表,从这个临时表我有1-2个连接来解析一些外键,然后将这些行插入到最终表(每月有一个分区).我有大约34亿行三个月的数据. 从登台到最终表格的最快方法是什么? SSIS数据流任务(使用视图作为源并具有快速加载活动)或插入INTO SELECT ….命令?我尝试了数据流任务,并且可以在大约5小时内获得大约10亿行(服务器上的8核/ 192 GB RAM),这对我来说感觉非常慢. 解决方法一种常见方法:>禁用/删除目标表上的索引/约束. 如果您的分区是物理的而不仅仅是逻辑分区,则可以通过让不同的进程同时填充不同的分区来获得一些时间(当然这意味着您不能使用TABLOCK / TABLOCKX).这假设源也适用于多个进程选择而不重叠/锁定等,并使操作的那一侧更慢(提示:在源上创建适合目标分区方案的聚簇索引). 你也可以考虑一些更原始的东西,比如 我不知道我会跳到SSIS来帮助解决这个问题.那里可能有一些效率,但我不知道这些努力是否能够节省成本. (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |