大量のデータを SQL Server に効率的にインポート: 大規模データ セットの処理戦略
大規模なデータ セットを SQL Server にインポートするには、処理時間を最小限に抑えるための効率的なテクニックが必要です。この記事では、数百万行のデータを SQL Server に迅速に挿入するためのさまざまな方法を説明します。
1. バッチ挿入操作には SqlBulkCopy を使用します
SqlBulkCopy クラスは、高性能のバッチ データ挿入メカニズムを提供します。内部トランザクション管理とテーブル ロックを活用してプロセスを最適化します。この方法を使用すると、従来の INSERT ステートメントと比較して、大規模なデータ セットの挿入速度が大幅に向上します。
コード例:
<code class="language-c#">using (SqlConnection connection = new SqlConnection(connString)) { SqlBulkCopy bulkCopy = new SqlBulkCopy( connection, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.UseInternalTransaction, null ); bulkCopy.DestinationTableName = this.tableName; connection.Open(); bulkCopy.WriteToServer(dataTable); connection.Close(); }</code>
2. バッチ挿入に XML 変換を使用します
あるいは、XML 変換を利用して一括挿入を行うこともできます。このメソッドには、DataTable から XML 形式へのデータの変換が含まれます。 XML が作成されると、それをデータベースに渡し、SQL Server OpenXML 関数を使用して一括挿入できます。
3. メモリ消費に関する考慮事項
大規模なデータセットを処理するときは、メモリの消費に注意してください。 200 万件のレコードをメモリにロードすると、システムのリソースに負担がかかる可能性があります。この状況を軽減するには、データを段階的に処理するか、テーブル パーティショニングなどの他の手法を検討することをお勧めします。
これらの戦略を適用すると、大規模なデータ セットの SQL Server への挿入プロセスが簡素化され、効率的なデータ管理とパフォーマンスの最適化が保証されます。
以上が数百万行を SQL Server に効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。