kyl*_*iod 7 database parallel-processing sqlbulkcopy azure azure-sql-database
我在云上有一个带有sql azure数据库的天蓝色应用程序.我有一个worker角色,需要对文件进行解析+处理(最多约3000万行),所以我不能直接使用BCP或SSIS.
我目前正在使用SqlBulkCopy,但是这看起来太慢了,因为我看到400k行的加载时间长达4-5分钟.
我希望并行运行我的批量插入; 然而,阅读有关并行/控制锁行为导入数据的文章,它说SqlBulkCopy要求表没有聚簇索引,并且需要指定表锁(BU锁).但是,azure表必须具有聚簇索引...
甚至可以在SQL Azure中的同一个表上并行使用SqlBulkCopy吗?如果没有,那么还有另一个API(我可以在代码中使用)吗?
我看不出如何比使用 SqlBulkCopy 运行得更快。在我们的项目中,我们可以在大约 3 分钟内导入 250K 行,所以您的速度似乎是正确的。
我不认为并行执行会有所帮助,即使在技术上可行。我们一次只运行 1 次导入,否则 SQL Azure 开始超时我们的请求。
事实上,有时在导入的同时运行大型分组查询是不可能的。SQL Azure 做了很多工作来确保服务质量,这包括超时请求时间过长、占用资源过多等
因此,同时执行多个大批量插入可能会导致超时。
| 归档时间: |
|
| 查看次数: |
4167 次 |
| 最近记录: |