oracle 快速復制一張表,並在此創建索引,日志及並行度


復制表結構及其數據

create table table_name_new as select * from table_name_old

只復制表結構

create table table_name_new as select * from table_name_old where 1=2

只復制表數據

insert into table_name_new select * from table_name_old

表結構不一樣

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old

復制表結構及其數據不寫日志

create table table_name_new nologging as select * from table_name_old

設置並行度

create table testa2 (t1 int) parallel;

commit;

插入數據不寫日志

alter   table   table_name   NOLOGGING;

再修改寫日志

alter   table   table_name   LOGGING;

 

並行度:

查看dba_tables數據字典時,可以發現有“DEGREE”字段,這個字段表示的就是數據表的並行度。這個參數的設置,關系着數據庫的I/O,以及sql的執行效率。當設置表的並行度非常高的時候,sql優化器將可能對表進行全表掃描,引起 Direct Path Read 等待 。

在使用並行查詢前需要慎重考慮, 因為並行查詢盡管能提高程序的響應時間, 但是會

消耗比較多的資源。

alter table t parallel(degree 1);------直接指定表的並行度

alter table t parallel;    ----------設置表的並行度為default

創建索引:

create [unique] index index_name on table_name(column_name[,column_name…])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM