質問

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

a)値をXMLとしてストアドプロシージャに渡し、それを解析して挿入を実行します
または
b)ここで提案されているように、INSERT...VALUES... SELECT() UNION ALLを使用してSQLコマンドを作成します: SQL Server2005:単一のクエリで複数の行を挿入

ありがとうございます。

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top