EF6とSQL Server 2012を使用しています。varchar(max)
列のテキストファイルを含むテーブルがあります。平均的なファイルサイズは数MBですが、私は大きなファイルでも機能するソリューションを探しています。文字列データ型を使用してこの列を追加または更新しますが、これは各レコードが4〜5 Mbの数千のレコードを更新する効率的な方法ではないと思います。 EF(またはADO.net)に大きなデータ型を挿入または更新する効率的な方法はありますか?大きなデータをEF 6を使用してvarchar(max)に挿入または更新する方法
0
A
答えて
0
私はvarchar(max)の書き込み機能を使用するストアドプロシージャを作成しました。 EFオブジェクトを更新する代わりに、SPを呼び出してコードを10倍高速化することができました。このSPは、
と同様のクエリを実行します。update MyTable set col1.Write(@data, @oldLength, @data_length)
0
大きなファイルの場合、フィールドはvarbinary(max)に変更することができ、ファイルはバイナリ形式に変換してデータベースに挿入できます。 1MBを超えるファイルの場合、Filestreamsがより良いオプションを提供します。バイナリ変換のためにConvert file to binary in C#にアクセスしてみてください。
+0
これはどのように効率的ですか? –
関連する問題
- 1. EFコードを使用して更新可能なビューを挿入/更新する方法
- 2. oracle plsqlのdbリンクを使用してvarchar(max)にclobを挿入する
- 3. ODBCを使用してvarchar(max)列に書き込む方法
- 4. SQLマージを使用してレコードを更新または挿入する方法
- 5. EntityState.Modifiedを使用してEF 6 DbContexの更新に失敗しました
- 6. elasticsearchに存在するデータをチェックし、新しいデータを挿入または更新する方法
- 7. ポストグルでデータを更新して挿入する方法
- 8. EF 6オブジェクトを2回挿入しようとしました
- 9. 更新または挿入を使用してRを使用してローカルのPostgreSQLデータベースを更新する
- 10. ストアドプロシージャを使用して整数を挿入または更新する最適な方法は何ですか?
- 11. データ挿入時に自動更新をトリガーする方法は?
- 12. null値の列にデータを挿入/更新する方法は?
- 13. Codeigniterを使用した挿入/更新
- 14. JDBCを使用してテーブルを挿入または更新する
- 15. エンティティフレームワーク6レース条件挿入/更新
- 16. pandasを使用してmysqlに挿入または更新する場合
- 17. KnockoutJS:マッピングを使用してviewModelにデータを更新/挿入します。
- 18. Observablesを使用して表示されたデータを挿入時に更新する方法
- 19. 大まかな挿入または更新ですか?
- 20. ionicを使用してSQLiteにデータを挿入する方法
- 21. ループを使用してテーブルにデータを挿入する方法?
- 22. VB.NETを使用してホスティングデータベースにデータを挿入する方法
- 23. TCPDFを使用してpdfにデータを挿入する方法
- 24. varchar(50)に挿入できるデータの最大サイズは何ですか?
- 25. データの挿入と更新が完了した後にデータを挿入する方法
- 26. RegExを使用してVARCHAR列の値を更新する方法は?
- 27. asp.netを使用してエンティティフレームワークで挿入、更新、削除する方法は?
- 28. Talendテーブルにデータを挿入または更新する
- 29. Leaflet.drawとCartoDBを使用してテーブルに更新/挿入する方法
- 30. Springデータmongodb:文書のリストを挿入または更新する方法(upsertAll?)
"効率的な"あなたの期待は何ですか? 「数千」のファイルはそれぞれ「4から5 MB」で約10 GBです。あなたのネットワークI/Oはここではボトルネックになるでしょう、あなたのC#のコードではありません。 –
あなたはblobを使うことができますが、効率的な方法は、DBではなくHDDにファイルを保存することです。 – rashfmnb
@DStanley EFは更新するすべての行を読み込んで文字列を連結しますので、大量のメモリを使用します。 –