私はPostGreSQLを勉強していますが、未ログインのテーブルの例を見ました。 Oracleにも同様のリソースがありますか? 私はOracleに小さな抽出プログラムを用意しています。その日記はテーブルを埋めてテキストファイルを作成します。その後、このテーブルは削除されますが、削除されません。 この「一時テーブル」はビジネステーブルではないため、未記録になる可能性があることを理解しています。Oracleの未ログインテーブル
0
A
答えて
0
Oracle表はNOLOGGING
として作成できます。これはPostgreSQL UNLOGGEDオプションに似ていますが、実装上の違いが多いと思います。 NOLOGGING
のみ特定の操作がダイレクト・パス・インサート(すなわち、データファイルに直接書き込み、はるかにREDOまたはUNDOを生成しないINSERT
で)使用するようにテーブルが作成されても
。また、DMLは一般的に以下のようにAPPEND
ヒントを使用する必要があります。 LOAD AS SELECT
が表示されている場合、ダイレクトパス書き込みが使用されているかどうかを確認できます。
SQL> create table test1(a number) nologging;
Table created.
SQL> explain plan for insert /*+ append */ into test1 select 1 from dual;
Explained.
SQL> select * from table(dbms_xplan.display);
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------
Plan hash value: 2781518217
----------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
----------------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | LOAD AS SELECT | TEST1 | | | |
| 2 | OPTIMIZER STATISTICS GATHERING | | 1 | 2 (0)| 00:00:01 |
| 3 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
----------------------------------------------------------------------------------
ダイレクトパスの書き込みには多くの奇妙な制限があります。軽度のミスをして従来のインサートで終わるのは一般的です。以下の例では、ヒントの構文が正しくありません。エラーまたは警告はありません。説明プランにはLOAD TABLE CONVENTIONAL
と表示されます。
SQL> explain plan for insert /* append */ into test1 select 1 from dual;
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------
Plan hash value: 1388734953
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 1 | 2 (0)| 00:00:01 |
| 1 | LOAD TABLE CONVENTIONAL | TEST1 | | | |
| 2 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------
9 rows selected.
関連する問題
- 1. CakePHP 2別のログインテーブル
- 2. 大規模なWebサイトのログインテーブルのヘルプ
- 3. Oracle SQL Developerのリストから未使用の値を戻す
- 4. 未定義の関数にoci_connectにOracle 11gの呼び出し()
- 5. CodeIgniterのとOracle未定義の定数:OCI_COMMIT_ON_SUCCESS
- 6. SQL ServerとOracleで同じ未修正のクエリを実行
- 7. Javaストアドプロシージャ(Java JSF)で未定義のパラメータを持つOracleストアドプロシージャ
- 8. oracle DBで未使用の列を再利用する方法
- 9. ADOのftBCDデータ型パラメータを持つoracleの数値列が "未指定エラー"(Oracle Provider for OleDB)
- 10. Oracle SQLで未知の名前空間でXMLを解析する
- 11. Oracle BPMとOracle ADF
- 12. OracleビューとOracleのテーブルの結合
- 13. Oracle Service BusとOracle Fusion Middleware
- 14. Oracle SQLとOracle PL/SQL
- 15. 未完成の子とその未来
- 16. ORACLE: -
- 17. 未確認/未確認キャスト
- 18. Oracleの系図
- 19. Oracle/PLSQLのパフォーマンス
- 20. Oracleシーケンスのクリーンアップ
- 21. Oracleのコラムコメント。
- 22. oracleのリソースロール
- 23. Oracle:スプレッドシートデータのインポート
- 24. のOracle SQL:ソート
- 25. oracleのラップテーブル
- 26. Oracleのローカルタイムゾーン
- 27. のOracle SQL:NUMBER列
- 28. OracleのRLS/VPD
- 29. OracleのSQL
- 30. SQLのOracle HRMS