私は基本的に私は何のアクションnecesaryを応じて同じSPを実行しています、したがって、すべてのCRUD操作を実行する1つのSP
を使用しています:SELECT、UPDATEを実行するストアドプロシージャを使用して任意の禁忌、INSTERT
例えば
-- for select
exec USP_ORDER @MODE='S', @ORDER_DATE='2009/01/01'
-- for update
exec USP_ORDER @MODE='U', @other_params
-- for insert
exec USP_ORDER @MODE='I', @other_params
-- for delete
exec USP_ORDER @MODE='D', @ID=100
私はDBを注文したままにするBuisness Object 1つにつきSPが1つしかありません。 しかし、最近私はパフォーマンスの問題を経験しました。 それに照らして私の質問:
このアプローチは正しいですか?それはパフォーマンス/適切なエグゼクティブに影響を及ぼしますか?計画?
こんにちはミッチですが、私は、ストアドプロシージャ内の各バッチ/ satementは、それ自身の実行計画を持っていた、上記のSQL 2005年に考えたと?これは、特定のステップだけがプロシージャ全体ではなく必要なときに再コンパイルするように再コンパイルを助けるためです..... –
パラメータスニッフィングは、すべてのストアドプロシージャで潜在的な問題になります。 ? –
@ジョンサンシャン:それは正しいです。このポスターは、彼が1つのSPですべてのアクションを実行していることを示しています。 –