我插入记录使用SqlBulkCopy的和FastMemberSqlBulkCopy的*非常*在Azure上的Sql缓慢和C#
本地我可以在约2秒插入10万条记录的SQL。当我在Azure Web应用webjob和Azure Sql数据库上运行此应用时,需要超过10分钟时间并将事务超时。表格定义与表格中的相同数量的数据相似。没有锁定,它只是很慢。 当我在本地运行它并尝试写入Azure Sql数据库时,它也需要大于10分钟。
的实际通话很简单,因为它可以:
using(var bulkCopy = new SqlBulkCopy(connection){DestinationTableName="Table")
using(var reader = ObjectReader.Create(entities, columnList)
{
await bulkCopy.WriteToServerAsync(reader).ConfigureAwait(false);
}
我试图消除使用TransactionScope(Suppress)
交易,但它并没有区别。
任何人都可以帮助让我知道我做了什么愚蠢的错误,或给我一些关于如何诊断这个错误的提示?这真让人沮丧! 时间的差异非常大,我确信我错过了一些基本的东西。
什么是您的数据库层?在此期间,DTU(log/cpu/Io/Memory)的哪部分内容会被刷新? – TheGameiswar
S3/P1(类似的结果),并且DTU在两种情况下都不能达到最大值。 DTU短暂高达70%左右,然后坐在10-20%左右 – Carl
然后你必须等待......在这段时间你可以收集等待 – TheGameiswar