1

こんにちは、IF ステートメントを使用する場合、または代わりに CASE ステートメントを使用することを選択した場合に、ストアド プロシージャの実行速度に関連する長所/短所はありますか?

4

2 に答える 2

2

IFs は非トランザクションであるため、回避できる場合は使用しないようにしています。つまり、通常、 のブロックIF内で の状態が有効であるという保証はありません。BEGIN... ENDIF

たとえばCASE、 SQL 内でステートメントを使用することを意味していると思います。SELECT使用法が回避することを意図している場合はIF、必ず実行してください。

SQL の黄金律は、サーバーに処理方法を理解させ、サーバーに何を要求するかを伝えることです

于 2008-10-04T11:09:18.977 に答える
2

case ステートメントと IF ステートメントの速度の違いは気にしないでください。データベースを扱っているため、ディスクの書き込みまたは読み取りにかかる時間は、CPU が IF または Case を介して分岐するのにかかる時間よりもはるかに小さくなります。代わりに、コードをより読みやすく保守しやすくすることに集中する必要があります。

于 2008-10-04T11:18:38.893 に答える