查看数据库模式:

SQL> connect /as sysdba

Connected.

SQL> select name,log_mode from v$database;

NAME               LOG_MODE

------------------ ------------------------

ORCL10G            NOARCHIVELOG

可知:非归档模式

确认表的大小

SQL> connect sjzyk/sjzyk

Connected.

SQL> select t.segment_name,t.BYTES/1024/1024||'mb' from user_segments t ;

SEGMENT_NAME

--------------------------------------------------------------------------------

T.BYTES/1024/1024||'MB'

--------------------------------------------------------------------------------

SJ_TEST1

256mb

SQL> set autotrace traceonly statistics;

SQL> insert into sj_test2 as select * from sj_test1;

insert into sj_test2 as select * from sj_test1

*

ERROR at line 1:

ORA-00926: missing VALUES keyword

SQL> insert into sj_test2 select * from sj_test1;

1000000 rows created.

Statistics

----------------------------------------------------------

5291  recursive calls

283525  db block gets

119170  consistent gets

32033  physical reads

262035336  redo size

665  bytes sent via SQL*Net to client

579  bytes received via SQL*Net from client

4  SQL*Net roundtrips to/from client

7  sorts (memory)

0  sorts (disk)

1000000  rows processed

从上面记录中,insert普通语句产生redo大小约为260M左右

SQL> set autotrace traceonly statistics;

SQL> insert /*+ APPEND */ into sj_test2 select * from sj_test1;

1000000 rows created.

Statistics

----------------------------------------------------------

5093  recursive calls

36678  db block gets

34225  consistent gets

31611  physical reads

371512  redo size

663  bytes sent via SQL*Net to client

593  bytes received via SQL*Net from client

4  SQL*Net roundtrips to/from client

2  sorts (memory)

0  sorts (disk)

1000000  rows processed

SQL> commit;

添加/*+ APPEND */直插后redo产生日志大约为300kb

SQL> set autotrace traceonly statistics;

SQL> insert /*+ APPEND */ into sj_test2 nologging select * from sj_test1;

1000000 rows created.

Statistics

----------------------------------------------------------

5222  recursive calls

36678  db block gets

34238  consistent gets

20265  physical reads

372068  redo size

663  bytes sent via SQL*Net to client

606  bytes received via SQL*Net from client

4  SQL*Net roundtrips to/from client

6  sorts (memory)

0  sorts (disk)

1000000  rows processed

采用/*+ APPEND */和nologging的日志与直插区别不是很大,

SQL> set autotrace traceonly statistics;

SQL> insert  into sj_test2 nologging select * from sj_test1;

1000000 rows created.

Statistics

----------------------------------------------------------

5098  recursive calls

283651  db block gets

85806  consistent gets

20922  physical reads

260028080  redo size

680  bytes sent via SQL*Net to client

590  bytes received via SQL*Net from client

4  SQL*Net roundtrips to/from client

2  sorts (memory)

0  sorts (disk)

1000000  rows processed

采用nologging模式下redo日志差不多也是260m,至少在非归档模式下,nologging的左右不是很大

在SYS用户下创建视图和公共映射

create or replace view redo_size as

select value

from v$mystat, v$statname

where v$mystat.statistic# = v$statname.statistic#

and v$statname.name = 'redo size';

CREATE PUBLIC synonym REDO_SIZE FOR REDO_SIZE;

SQL> select * from redo_size;

VALUE

----------

3154424

SQL> create table sj_test2 as select * from sj_test1;

Table created.

SQL> select * from redo_size;

VALUE

----------

3568676

对比CREATE TABLE 创建前后值减去之前的redo值500kb左右

初步测试:create table 语句对于抽取历史数据(大批量数据)产生的redo日志较少,插入数据较快。网上百度说是CREATE TABLE 为数据定义语言,产生少量的redo,undo。

应用资料:http://www.2cto.com/database/201303/193306.html

CREATE TABLE TEST_A AS SELECT * FROM TEST_B相关推荐

  1. hive建表create table xxx as select的问题

    create table xxx as select的方式创建的表默认存储格式是text,所以要注意了假如as select的是其他格式的比如parquet,则可能会导致一行变多行的情况(因为parq ...

  2. Oracle中,使 CREATE TABLE AS SELECT 支持ORDER BY

    Oracle中,使 CREATE TABLE AS SELECT 支持ORDER BY 文章发表:kehui  发表日期:2002-01-21  阅读次数:1103  大家都知道,"CREA ...

  3. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ?

    如何使'CREATE TABLE AS SELECT'能支持ORDER BY ?         大家都知道,"CREATE TABLE AS SELECT"这个SQL命令并不支持 ...

  4. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...

    create table  as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...

  5. oracle insert into as select,比较create table as select * 与 insert into table select *

    实验环境: SYS@aaron> select * from v$version; BANNER ------------------------------------------------ ...

  6. create table as select性能测试

    转载自:http://blog.csdn.net/yangzhijun_cau/article/details/7396088 ------------------------------------ ...

  7. 当create table as select 遇上大数据

    统计24小时的红包感知专题,有1.5亿行以上的数据,Nokia给出的方法是先按小时执行算法,再汇总各个小时的执行结果. 算法中包含了大量的 sum(case when)计算. 专题里有5个小节,执行计 ...

  8. SQL—— Create table as select 与 使用select查询结果创建新表

    Create table as select,有以下三种方式: create table table1 as select * from table2 where 1=2; 创建一个表结构与table ...

  9. Statement violates GTID consistency: CREATE TABLE ... SELECT.

    1.情况描述 在执行sql:create table table_a_copy  as select * from table_a 时,发现sql执行后,并未生成新的表,而是提示Statement v ...

  10. MYSQL:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.

    这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候 ...

最新文章

  1. web渗透测试基本步骤
  2. Day 07 艺术家是靠天赋还是努力
  3. 数据结构源码笔记(C语言):Josephus问题之循环链接表
  4. ApplicationContext和BeanFactory
  5. pandas - DataFrame
  6. 如何获取 Process.Start 打开进程的输出结果?
  7. CCF201612-1 中间数
  8. 纯前端html导出pdf(jsPDF.js)-分页-不分页
  9. linux磁盘加密bitlocker,Azure Disk Encryption(Azure磁盘加密)能用在Linux和Windows下
  10. python如何拼读英语单词怎么写_怎么用英标快速拼读英语单词,这些技巧你知道吗...
  11. Cocos Creator 开发入门
  12. 笔记本式计算机处理器,问答:笔记本电脑如何选择处理器
  13. nagios NSCA 被动检测
  14. [兰顿蚂蚁]有感--诡异又不失优雅的蚂蚁
  15. 软考中级-嵌入式系统设计师(三)
  16. Android Google地图接入(一)
  17. HTML 导航栏标签切换
  18. 组件 :normal ordered local Broadcasts
  19. 谷粒商城异步编排(三十二)
  20. 区块链激励层——区块链生态建设的驱动力量

热门文章

  1. Atitit. 有限状态机 fsm 状态模式
  2. 况客:Campisi债券业绩归因模型
  3. (转)深度解析挖矿的逻辑和技术实现
  4. Julia: map、匿名函数和“差之毫厘,谬之千里”
  5. julia 与并行计算(部分有参考和转载)
  6. 性能提升160%,为全球提供顶级算力:阿里云发布第三代神龙云服务器
  7. 【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】
  8. 【基础教程】基于matlab图像处理(表示方法+数据结构+基本格式+类型转换+读取+点运算+代数运算)【含Matlab源码 834期】
  9. 【轨迹预测】基于matlab卡尔曼滤波运动轨迹预测【含Matlab源码 590期】
  10. 【图像处理】基于matlab GUI图像处理(编辑+分析+调整+平滑+锐化+小波变换)【含Matlab源码 207期】