2

Oracle 10は短絡評価クエリをサポートしていますか?はいの場合、それを使用するための特別なキーがありますか?

4

2 に答える 2

5

あなたはおそらく短絡評価について話しているでしょう。

DBMS にはコストベースのオプティマイザがあります。条件が最初に評価されるという保証はなく、これを有効にするための特別なキーはありません。

PL/SQLでは短絡評価が使用されることに注意してください

于 2013-01-14T09:48:53.130 に答える
3

オラクルが見た唯一の短絡は、NVLとCOALESCEに関連しています。

SELECT NVL(1,1/0) FROM DUAL

SELECT COALESCE(1,1/0) FROM DUAL

NVL は両側を評価してエラーをスローしますが、合体はしません。

decodeまた、同じことをしているようにも見えます:

SELECT decode(1,1,9,2,1/0) FROM DUAL

2 番目の部分を評価していないため、エラーのスローを回避します。

SQL Server オプティマイザーでは、クエリ エンジンがこの種のステートメントを書き換えて、このようなショート サーキットの例で問題を引き起こす可能性があることを知っています。そのため、原則として、ロジック内のショート サーキットに依存するべきではありません。同じことが Oracle にも当てはまります。

于 2013-01-14T09:50:54.157 に答える