パラメーターをどのように並べ替えますか?
実行中のストアドプロシージャに関するフィードバックを求めることができるかどうか、およびシナリオを処理するより効率的な方法があるかどうか疑問に思うだけです(きっとあるはずです!)。 基本的に、1つ以上のステータスと並べ替え順序を持つ可能性のあるレコード(ジョブ)のリストを返すために呼び出す単一のSPがあります(ページングにRowNumを使用しています)。現時点では、ステータスの変化は常に変化する可能性があるため(ユーザーなどによって)、WITH RECOMPILEを使用しています。いくつかのフィルタリングも行われています。 IFステートメントを使用して、本質的に同じビットのコードを実行し、唯一の変更はソート順です。 私の質問は次のとおりだと思います:これを行うためのより良い方法はありますか(おそらく、ステータスごとに異なるSP)。知識不足のために物事を複雑化しすぎていますか(かなりありそうです)SPは実際には問題ありませんが、行数を減らすために微調整が必要ですか? 以下のSPの一部を貼り付けました-完全なコードとの唯一の違いは、異なる並べ替え順序の追加のIFステートメントです... フィードバックをお願いします。 前もって感謝します! PROCEDURE [dbo].[sp_Jobs] @PageNumber int, @PageSize int, @FilterExpression varchar(500), @OrderBy varchar(50), @CustomerID int, @ShowNotSet bit, @ShowPlaced bit, @ShowProofed bit, @ShowReProofed bit, @ShowApproved bit, @ShowOnTime bit, @ShowLate bit, @ShowProblem bit, @ShowCompleted bit, @ShowDispatched bit, @ShowUnapproved bit, @ShowClosed bit, @ShowReturned bit, @UserID int WITH RECOMPILE …