XMLを使用した複数の挿入とINSERT…VALUES…SELECT…UNIONALL
-
28-10-2019 - |
質問
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
コンストラクターがあり、テーブル値パラメーターと呼ばれる新しいアプローチもあります。
所属していません StackOverflow