ホームページ >バックエンド開発 >C++ >SQL Server に 200 万行をすばやく挿入するにはどうすればよいですか?

SQL Server に 200 万行をすばやく挿入するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-21 14:52:13178ブラウズ

How Can I Quickly Insert 2 Million Rows into SQL Server?

SQL Server のデータ挿入速度を効率的に向上: 一度に 200 万行のデータを挿入

SQL Server データベースに大量のデータを挿入することは、特に数百万行のデータを扱う場合には困難になることがあります。この記事では、これを達成するための最良かつ最速のテクニックをいくつか説明します。

1. 一括読み込みには SqlBulkCopy を使用します:

SqlBulkCopy は、大量のデータを SQL Server に迅速にインポートするように設計された強力なツールです。従来の行ごとの挿入プロセスをバイパスし、代わりにバッチ操作を実行します。

実装方法:

<code class="language-csharp">using (SqlConnection connection = new SqlConnection(connString))
{
    SqlBulkCopy bulkCopy = new SqlBulkCopy(connection, ..., null);
    bulkCopy.DestinationTableName = this.tableName;
    connection.Open();
    bulkCopy.WriteToServer(dataTable);
    connection.Close();
}</code>

2. XML を使用したバッチ挿入:

もう 1 つのアプローチは、データを XML に変換し、OpenXML 関数を使用して SQL Server にロードすることです。このアプローチにより、データの整合性を維持しながら一括挿入が可能になります。

実装方法:

  • ソース データを XML 形式に変換します。
  • SQL Server コマンドを使用して XML をデータベースに渡します:
<code class="language-sql">INSERT INTO TableName(XMLData)
VALUES (CAST(@xmlData AS XML))</code>

思い出メモ:

どちらの方法でも、挿入プロセス中にデータセット全体をメモリにロードする必要があることに注意することが重要です。したがって、適切なテクノロジを選択するときは、利用可能なメモリとデータ セットのサイズを考慮してください。

以上がSQL Server に 200 万行をすばやく挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。