ctas和insert ---select 的問題

[复制链接]
查看11 | 回复8 | 2005-12-1 15:42:03 | 显示全部楼层 |阅读模式
大哥們我想請問一下
ctas和insert table select 有什么差別。
對一個兩千萬的記錄(30和字段)的表來說﹐創建備份表
哪種方法好﹐臨時表空間和rollback segment在哪種情況下
最受影響
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
ctas是创建表然后insert table select,
可以用sqlplus下的COPY命令,rollback segment和臨時表空間影响小
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
sqlplus 下使用COPY何意思
請指點
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
ctas是direct path read/write,速度比insert select快很多.
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
楼上说的对,如果insert后面加上 /*+append */ 提示,速度快
SQL> help copy
可以看到copy用法,是sqlplus下的一个命令,关键是有批量提交功能,减轻回滚段压力。
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
同一个数据库中的话CTAS是最快的
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
樓主能給個具體例子嗎
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
在下領悟了﹐
謝謝樓主們
copy from oracle@myoracle create oracle.books_bak using select * from oracle.books
回复

使用道具 举报

千问 | 2005-12-1 15:42:03 | 显示全部楼层
in archive log mode,
you shoulde use : create table ... nologging as select...
this only generate few of redo log
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行