Oracle11g Oracle中的无标记表

Oracle11g Oracle中的无标记表,oracle11g,datatable,postgresql-9.4,logged,Oracle11g,Datatable,Postgresql 9.4,Logged,我正在研究PostGreSQL,我看到了一个未标记表的示例。 Oracle中是否有类似的资源? 我在甲骨文中有一个小提取器,它把日记填到一个表格中,然后生成一个文本文件。在那之后,这张桌子被清理了,但没有掉下来。 我知道这个“临时表”可以取消标记,因为它根本不是一个业务表。Oracle表可以创建为。这类似于PostgreSQL Unlocked选项,但我确信存在许多实现差异 即使将表创建为NOLOGGING,也只有特定的操作将使用直接路径插入(即直接写入数据文件且不会生成大量重做或撤消的inse

我正在研究PostGreSQL,我看到了一个未标记表的示例。 Oracle中是否有类似的资源? 我在甲骨文中有一个小提取器,它把日记填到一个表格中,然后生成一个文本文件。在那之后,这张桌子被清理了,但没有掉下来。
我知道这个“临时表”可以取消标记,因为它根本不是一个业务表。

Oracle表可以创建为。这类似于PostgreSQL Unlocked选项,但我确信存在许多实现差异

即使将表创建为
NOLOGGING
,也只有特定的操作将使用直接路径插入(即直接写入数据文件且不会生成大量重做或撤消的
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 |
----------------------------------------------------------------------------------
直接路径写入有许多奇怪的限制。通常会犯一个小错误,最终使用传统的插件。在下面的示例中,提示没有正确的语法。没有错误或警告,只有解释计划显示
加载表常规

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.