0

2つのcaseステートメントを持つビューから機能する関数があります。問題は、このcaseステートメントが原因で、関数の実行に25秒以上かかることです。たった3秒しかかからないはずですが(caseステートメントを呼び出さないビューを持つ同じ関数と比較して)。

caseステートメントはselect内で実行されます。

興味深いことに(私にとって)、ケースステートメントの1つを直接的なもの、つまりD.CARSではなくD.CARSに変更した場合

CASE WHEN D.CAR IS NOT NULL 
THEN D.CAR              
ELSE C.CAR
END AS CAR,

次に、関数を実行するために最大3秒の速度が得られますが、いくつかの結果が表示されます。したがって、selectステートメントにcaseステートメントが2つある場合、25秒ほどかかるようです。

ケースステートメントの数に関係なく、または入力に1秒以上かかるビュー。

正しい結果を得ながらそれをスピードアップする方法はありますか?

4

2 に答える 2

3

式の代わりに?CASEを使用してみませんCOALESCEか?

COALESCE(D.CAR, C.CAR) AS CAR
于 2012-08-02T18:57:10.143 に答える
-1

case ステートメントの代わりに関数を使用してみましたか?

于 2012-08-02T18:57:36.000 に答える