ばかげた質問かもしれませんが、関数ベースのインデックスを使用しても安全ですか。つまり、列が変更されるとすぐにインデックスが変更されますか?
質問する
1983 次
1 に答える
11
それらが正しくセットアップされていると仮定すると、はい。
概要: Oracle は、関数ベースのインデックスが変更されるたびに更新される関数ベースのインデックスを持つテーブルに非表示の列を作成します。値が決定論的であると仮定します(詳細については、オラクルのリンクを参照してください)。関数ベースのインデックスが作成されたテーブルのシステム オブジェクト all_tab_cols にクエリを実行すると、これらの非表示の列を確認できます。通常、$ が含まれ、SYS_NC00005$ のようになります。
これらは、大文字と小文字の区別を処理したり、繰り返し関数呼び出しを処理したりする場合によく使用されます。関数呼び出しを実行するオーバーヘッドが頻繁に発生し、値を事前に計算して値を保持することでパフォーマンスが向上します。
追加資料:
于 2012-04-13T13:23:34.810 に答える