私はsqlserver DBに200kを超えるレコードを挿入する必要があります。どの方法が一括挿入に最適ですか?
私の考えはデータテーブルにデータを追加して一括挿入を行うことですが、私のTLは「データをCSVファイルフォーマットに挿入して一括挿入します」と言っています。
どのアプローチが高速ですか?
私はsqlserver DBに200kを超えるレコードを挿入する必要があります。どの方法が一括挿入に最適ですか?
私の考えはデータテーブルにデータを追加して一括挿入を行うことですが、私のTLは「データをCSVファイルフォーマットに挿入して一括挿入します」と言っています。
どのアプローチが高速ですか?
CSVファイルがすでに作成されている場合は、SQL Bulk Insertは、パフォーマンスと開発の両方で最も速いです。
アプリケーションでデータを作成する場合は、BulkCopyが最も簡単で最速のソリューションである可能性が最も高いでしょう。
いずれの方法でも200kレコードは膨大なデータ量ではなく、かなり高速でなければなりません。
通常バルク挿入csvファイルは、私がティムSchmelterデータソースの異なる場合があり答えに同意する高性能挿入
BULK
INSERT Table
FROM ‘$path\$file.csv’
WITH
(
FIELDTERMINATOR = ‘;’,
ROWTERMINATOR = ‘\n’,
KEEPIDENTITY,
TABLOCK
)
です。
[SqlBulkCopy](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx)を使用する方法が最も効率的です。しかし、あなたは元のデータソースが何であるかは述べていません。 –
なぜデータテーブルを作成し、データテーブルを作成してから挿入するC#プログラムを記述する方が速いと思いますか?私はあなたのTLが正しい道にあると思う。 –