問題タブ [global-temp-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
748 参照

oracle - Oracle グローバル一時テーブルでの異なる「コミット時」設定

Oracle GTT の 2 つの異なる設定の背後にあるメカニズムについてアドバイスをいただけますか?

1) コミット時に行を保持

2) コミット時に行を削除

今のところ、私は「事実」があることを知っています:

a) これら 2 種類の GTT に挿入されたレコードのライフサイクルは異なります。

b) GTT < REF >を削除するまで、両方のタイプの GTT の定義が残ります。

しかし、私が知りたいことは、b) という事実に関して 2 種類の GTT に違いがあるかどうかです。

GTT の「保存」タイプの場合、テーブルの定義が残るだけでなく、使用回数によって蓄積されると言われました (つまり、GTT を使用するセッションが 10 ある場合、テーブルの定義のコピーが 10 作成され、 GTT をドロップするまで消えません)。また、「保存」GTT を定期的に削除しないと、SQL ステートメントのパフォーマンスがどんどん遅くなります。

どなたかわかりやすく教えてください。

【2018.08.21】 ご回答ありがとうございます。質問を絞り込んでください。GTT のテーブル定義が複製されているのではなく、同じ GTT を使用するすべてのセッションによってテーブルスペースが割り当てられており、セッションの終わりまでに解放されず、GTT の専用ドロップが発生します。それが真実だろうか?