Using nologging command in in the definition of table T is useless ?
How about the index on T table when using direct path inserting? Is the index updated while inserting operation?
Edited by: jetq on Jul 8, 2009 9:23 PM
Thank you ... that good question
TABLE=LOGGING
SQL> create table TEST01 as select * from all_objects;
Table created.
INDEX=NOLOGGING
SQL> create index TEST01_IDX01 on TEST01(object_id) nologging;
Index created.
INSERT INTO TEST01 NOLOGGING SELECT * FROM ALL_OBJECTS;
SQL> INSERT INTO TEST01 NOLOGGING SELECT * FROM ALL_OBJECTS;
10914 rows created.
REDO_VALUE
----------
1931708
INSERT /*+ APPEND */ INTO TEST01 SELECT * FROM ALL_OBJECTS;
SQL> INSERT /*+ APPEND */ INTO TEST01 SELECT * FROM ALL_OBJECTS;
10914 rows created.
REDO_VALUE
----------
2099212
INSERT /*+ APPEND */ INTO TEST01 NOLOGGING SELECT * FROM ALL_OBJECTS;
SQL> INSERT /*+ APPEND */ INTO TEST01 NOLOGGING SELECT * FROM ALL_OBJECTS;
10914 rows created.
REDO_VALUE
----------
1616992
After test: "INSERT /*+ APPEND */ INTO TEST01" made least redo size on INDEX(nologging)
By the way, I test with INDEX(logging), "INSERT /*+ APPEND */ INTO TEST01" made least redo size as well.
I think... that'a little difference redo size. But if you "alter table ... nologging" and use SQL with /*+ append*/ that'll not generate redo log(generate only data dictionary)....
Be CareFul to use NOLOGGING
If you need to check about TABLE
http://surachartopun.com/2009/06/insertupdatedelete-will-generate-redo.html
Edited by: Surachart Opun (HunterX) on Jul 9, 2009 8:42 AM
Edited by: Surachart Opun (HunterX) on Jul 9, 2009 8:47 AM
Edited by: Surachart Opun (HunterX) on Jul 9, 2009 10:01 AM