不會影響我試圖插入10000行用的EntityFramework 6.爲了加快這一進程,我是禁用AutoDetectChanges塞汀AutoDetectChangesEnabled爲false,插入速度
using (var db = new TestDbContext())
{
try
{
db.Configuration.AutoDetectChangesEnabled = true;
db.Adresses.AddRange(adresesModel);
db.SaveChanges();
}
finally
{
db.Configuration.AutoDetectChangesEnabled = true;
}
}
幾天前,這個過程花了〜 100毫秒,但現在我禁用AutoDetectChanges花了〜70000毫秒 啓用AutoDetectChanges它也需要〜70000毫秒
我找不到爲什麼禁用AutoDetectChanges不要插入速度影響的原因!
也許它並不試圖在一系列檢測更改,或者這個過程花費的時間可以忽略不計。爲什麼要保存到數據庫需要更長的時間還有很多其他原因。 – krillgar
其中一個原因可能是你有很多索引在你的桌子上(或者可能最近你在桌子上添加了很多索引)....所以索引重建可能加起來這次 – Viru
我的數據庫是DropCreateAlways和幾天前......就像我之前說的那樣......過程花費了大約100毫秒。我沒有更改代碼或MSSQL設置,現在花費了大約70000毫秒 – Timbioz