[解決済み] Entityフレームワークのバルクインサートのパフォーマンス向上【重複あり
2022-09-08 15:29:17
質問
エンティティフレームワークでテーブルに2万レコードを挿入したいのですが、2分ほどかかります。SPを使用する以外にパフォーマンスを向上させる方法はないでしょうか。これは私のコードです。
foreach (Employees item in sequence)
{
t = new Employees ();
t.Text = item.Text;
dataContext.Employees.AddObject(t);
}
dataContext.SaveChanges();
どのように解決するのですか?
いくつかの改善の機会があります。
DbContext
):
設定します。
yourContext.Configuration.AutoDetectChangesEnabled = false;
yourContext.Configuration.ValidateOnSaveEnabled = false;
する
SaveChanges()
100枚入りのパッケージで...
または、1000アイテムのパッケージで試して、パフォーマンスの変化を見ることができます。
このすべての挿入の間、コンテキストは同じであり、それは大きくなっているので、あなたは、次のことができます。
1000 回挿入するごとにコンテキストオブジェクトを再構築します。
var yourContext = new YourContext();
これが大きな収穫だと思います。
私のデータのインポート処理でこの改善を行ったところ、7分かかっていたのが6秒になりました。
実際の数値は...あなたの場合、100とも1000とも言えないかもしれませんが...試して微調整してください。
関連
-
[解決済み] 不変量名 'System.Data.SqlClient' を持つ ADO.NET プロバイダに対応する Entity Framework プロバイダが見つかりませんでした。
-
[解決済み] Entity FrameworkとLINQ to SQLの比較
-
[解決済み] Entity Frameworkにおける最速の挿入方法
-
[解決済み] Entity Frameworkで生成されたSQLを表示するにはどうすればよいですか?
-
[解決済み] GUIDを主キーとして使用する場合のベストプラクティス、特にパフォーマンスに関して教えてください。[クローズド]。
-
[解決済み] Entity Frameworkで複数行を削除する方法(foreachを使用しない)
-
[解決済み] Entity Framework Code Firstでオブジェクトをデタッチするにはどうすればいいですか?
-
[解決済み] Entity Framework 5で子オブジェクトの子オブジェクトをインクルードする方法
-
[解決済み] エンティティフレームワークのコードファーストのNULL外部キー
-
[解決済み] EF Core の EntityTypeBuilder に ToTable の定義が含まれていない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Entity Frameworkにおける最速の挿入方法
-
[解決済み] Entity Framework: "ストアの更新、挿入、または削除ステートメントが予期しない行数 (0) に影響しました。" [クローズド]。
-
[解決済み】Entity Framework。1つのデータベース、複数のDbContexts。これは悪い考えなのか?[クローズド]。
-
[解決済み】DbContext.Database.ExecuteSqlCommandメソッドにパラメータを渡すにはどうしたらよいですか?
-
[解決済み】1つ以上の外部キーのプロパティが非NULLであるため、リレーションシップを変更できませんでした。
-
[解決済み] EF Code First "Invalid column name 'Discriminator'" but no inheritance.
-
[解決済み] Entity Framework 4 / POCO - 何から始めるか?[クローズド]
-
[解決済み] Entity Frameworkのバージョンは?
-
[解決済み] Entity Frameworkの接続文字列はどのように編集すればよいですか?
-
[解決済み] Entity Framework 6.2でインデックスを作成する方法とそのコード