ホームページ  >  記事  >  バックエンド開発  >  pyodbc の Cursor#fast_executemany を使用すると、MS SQL Server への一括挿入をどのように高速化できますか?

pyodbc の Cursor#fast_executemany を使用すると、MS SQL Server への一括挿入をどのように高速化できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 04:42:02870ブラウズ

How Can Cursor#fast_executemany in pyodbc Speed Up Bulk Inserts to MS SQL Server?

pyodbc を使用した MS SQL Server への一括挿入の高速化: 洞察とソリューション

MS SQL Server への一括挿入の効率を高めるにはpyodbc を使用してテーブルを作成する場合は、Cursor#fast_executemany 機能の利点を活用することを検討してください。バージョン 4.0.19 で導入されたこの機能は、挿入プロセスを最適化し、実行時間を大幅に短縮します。

挿入用のデータを含む CSV ファイルが、SQL Server インスタンスをホストしているローカル マシンではなくリモート クライアントに存在する場合 (またはアクセス可能な SMB/CIFS ネットワークの場所)、T-SQL BULK INSERT コマンドは実行できない可能性があります。このような場合、Cursor#fast_executemany は魅力的な代替手段を提供します。

デモ:

「fast_executemany_test」テーブルに 1000 行のデータを挿入するシナリオを考えてみましょう。デフォルト設定を使用すると、操作には約 22 秒かかります。

<code class="python">crsr.executemany(sql, params)</code>

次の方法で Cursor#fast_executemany を有効にするだけで、

<code class="python">crsr.fast_executemany = True</code>

挿入をわずか 1 秒に加速できます。実行時間は重要な要因によって異なります。この機能を利用して一括挿入を合理化し、データ インポート タスクの全体的なパフォーマンスを向上させます。

以上がpyodbc の Cursor#fast_executemany を使用すると、MS SQL Server への一括挿入をどのように高速化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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