簡體   English   中英

為什么需要這么長時間才能更新

[英]Why its taking so long to update

我有22000行的CSV文件。 第一次,我從csv文件讀取所有行,並使用Entity Framework db.SaveChanges()將它們添加到數據庫中,其中保存更改需要45秒。 然后,下次讀取所有記錄並僅添加新記錄並更新現有記錄時,這需要2分鍾的時間...什么是插入批量記錄的最佳方法?

使用EF保存時,會發生3種不同的動作,它們的速度差異很大。 插入和刪除是在一次對SQL Server的調用中完成的,但更新一次只完成了一條記錄,因此它可以檢查並發問題並向您報告失敗的原因。

如果要堅持使用EF,則應始終執行INSERT,然后在服務器上執行MERGE(SQL命令)。 如果您沒有創建存儲過程的能力,也可以從C#中的sqlcommand執行MERGE。

最好的選擇也是最快的方法是使用BULK INSERT。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM