2010-11-29 19 views
2

SQL Server 2008では、複数の行のデータを1つのテーブルに挿入するだけで高速ですか?SQL Server 2008に挿入するためのテーブル値パラメータ対複数行挿入のパフォーマンスに関する質問

Table-Valued Parameterまたはa single insert statement with multiple values

この単純なシナリオでは、どちらか一方を優先しますか?

+0

[SQL Server:テーブル値関数とストアドプロシージャ]可能な複製(http://stackoverflow.com/questions/4254814/sql-server-table-valuable-functions-vs-stored-procedures) –

+0

http ://stackoverflow.com/search?q = [sql-server] + table + valued + function + vs –

+0

私は実際にはストアドプロシージャやテーブル値関数については扱っていません。ストアドプロシージャまたは関数に渡すか、またはアドホッククエリで使用する可能性があります。 – Dugan

答えて

1

私が質問を正しく理解していれば、私はテーブル値付きパラメータを使用します。さもなければ、私はパラメータのリストがすぐに管理不能になると思います。

insert into YourTable 
    (col1, col2, ..., colN) 
    values 
    (@Row1Col1, @Row1Col2, ..., @Row1ColN), 
    (@Row2Col1, @Row2Col2, ..., @Row2ColN), 
    ... 
    (@RowMCol1, @RowMCol2, ..., @RowMColN) 
+0

いいえ、私はそれをタイプアップしたくないですが、それはプログラムで組み立てられます。私はどれがどちらかといえば、実際にもっと効率的であるかを調べようとしています。 – Dugan

0

両方の操作でテーブルにデータが挿入されるため、次のような問題が発生します。 「ストアドプロシージャを使用してテーブルインサートを作成するオーバーヘッドは、システムが処理するための多くのものですか?

システムでは、今すぐアプリのテーブルに直接挿入できますか?はいの場合は直接挿入してください。

私は、テーブルに直接データをダンプするよりも気分を良くする監査、エラーロジックなどを追加できるので、ストアドプロシージャを使用することをお勧めします。

関連する問題