我插入記錄使用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