我有一个数据库,我将文件加载到临时表中,从这个临时表我有 1-2 个连接来解析一些外键,然后将这些行插入到最终表中(每个月有一个分区)。我有大约 34 亿行数据,用于三个月的数据。
将这些行暂存到最终表中的最快方法是什么?SSIS 数据流任务(使用视图作为源并具有快速加载活动)或插入 INTO SELECT .... 命令?我尝试了数据流任务,可以在大约 5 小时内获得大约 10 亿行(服务器上有 8 个内核/192 GB RAM),这对我来说感觉很慢。
performance sql-server insert sql-server-2012 query-performance
我们有一个用户导入应用程序的 CSV。
在检查 CSV、验证和应用一些业务逻辑之后,我们得到了应该在表(订阅者)中执行的插入和更新操作
我们获得了大约 100 万次插入和 100 万次更新操作。
执行它们的最有效方法是什么?
1) 对于插入,我们计划将它们放在一个 CSV 文件中并作为 BULK INSERT 执行它们。
2)我们应该为更新做些什么?有没有类似于 BULK INSERT 的东西?
3)我们还应该看看其他优化吗?
3a)例如在执行此操作时禁用索引?我们应该考虑数据库应该对应用程序的其他用户正常保持可用......
3b) 建议???