2

@sectionタイプのテーブル値パラメーターを持つ SProc がありdbo.SectionInます。このパラメーターは SProc 全体で使用されており、そこからいくつかのレコードを削除したいと考えていますが、もちろん設計上は読み取り専用です。

The table-valued parameter "@sections" is READONLY and cannot be modified.

私の計画は、その内容をテーブル変数にコピーして、代わりに使用することです。

DECLARE @sectionDups as dbo.SectionIn
    INSERT INTO @sectionDups
    SELECT *
    FROM @sections 

私の質問は、これによりクエリ プランでパフォーマンス ヒットが発生するかどうかです。そうでない場合、そもそも ReadOnly 要件の背後にある理由は何ですか?

4

2 に答える 2

0

テーブルをコピーするためにパフォーマンスが低下します。param テーブルの行が多いほど、パフォーマンスが低下しますが、sp の合計実行に対して無視できる場合

私の知る限り、読み取り専用のtvpの唯一の理由は-SQLサーバーの非常に新しい機能であり、読み取り/書き込みはまだ作成中のため、我慢してください

于 2012-01-06T19:13:49.513 に答える