1

SQL Server 2005 で、それぞれ 3 列ずつ約 20 行または 30 行を挿入したい場合、どちらの方法がより高速で効率的ですか? 呼び出し元のアプリケーションは、C# 4.0 .Net コンソール アプリケーションです。

a) XML として値をストアド プロシージャに渡し、それを解析して挿入を実行する、
または
b)INSERT...VALUES... SELECT() UNION ALLここで提案されているように SQL コマンドを作成する: SQL Server 2005: Insert multiple rows with single query ?

ありがとうございました。

4

1 に答える 1

1

やってみましたか?正直なところ、20行または30行の場合、違いを見つけるのは非常に困難です。大規模な場合、追加のデータのコストと、データを抽出するためのXMLに関連する解析により、効率の低い選択になると予想されます。VALUES()SQL Server 2008には、を必要としないより効率的なコンストラクターがありUNION ALL、テーブル値パラメーターと呼ばれる新しいアプローチもあります。

于 2012-02-21T19:02:00.843 に答える