Hi ckwan,

The best way to find out is to test and check which is the best solution using your environement and your data.

Hi Thomas,

I think that in your comaprison you forgot to check how long it takes to create the empty table. Also I dont think that a table with 5000 rows is something that could be called a huge table.

With a table having 17M rows a got a totaly different result:

Code:
SQL> create table test_cts parallel nologging as select * from source

Tabelle wurde angelegt.
Abgelaufen: 00:01:50.01


SQL> create table test_ins parallel nologging as select * from source where rownum < 1;

Tabelle wurde angelegt.
Abgelaufen: 00:00:02.03

SQL>  insert /*+ APPEND */ into test_ins select * from source;

16963112 Zeilen wurden erstellt.
Abgelaufen: 00:05:10.04
I'm not sure anymore but I think that an "create table as" doesnt generate any undo data so that could be the reason for the big difference.

Hope that helps
Mike