私は同僚の開発者のSQLコードを分析しています。私は完全に間違っているかもしれませんが、彼らがやったことは私には良くないようです。ユーザー定義関数を作成するストアドプロシージャを作成することをお勧めしますか?
デザインは動的式ビルダーのためのものです。式はいくつかのテーブルを使用して格納され、システムが動作します。私に関係するシステムの側面は、式レコードが格納されるとストアドプロシージャが呼び出され、式全体を1つの関数として展開するUDFを作成するということです。
その意味は、作成されたユニークな式ごとに、その式を実行する一意のUDFが実行されることです。私はこれが実行されていると仮定しているので、動的SQLを構築して毎回実行するのではなく、実行計画をキャッシュしてパフォーマンスを向上させることができます。
あなたはどう思いますか、それは容認できる解決策のようですか?もっと情報が必要ですか?
もっと詳しい情報が必要です。これが私だったら、おそらくCLRアセンブリを検討していたかもしれませんが、それはあなたのソリューションを作成したチームのためのオプションではないかもしれません。どのバージョンのSQL Server?ソリューションは他のアプリケーションでどのように使用されていますか? – Yuck
SQL Server 2008 R2。このコンサルタントが離れると誰もコードを維持できないという事実のため、おそらくCLRは実行可能な選択肢ではありません。私はCLRが現時点では大変売りに出ているのを見ていますが、良い選択肢になることに同意します。この時点で他のアプリケーションでこのソリューションを使用する予定はありません。 –