①创建表:

SQL> create table t4 as select * from all_objects;

Table created.

②设置t4处于nologging:

SQL> alter table t4 nologging;

Table altered.

③开启autotrace查看执行计划:

SQL> set autotrace on

④插入数据:

SQL> insert into t4 select * from t4;

85184 rows created.

Execution Plan
----------------------------------------------------------
Plan hash value: 2560505625 --------------------------------------------------------------------------------
- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
| --------------------------------------------------------------------------------
- | 0 | INSERT STATEMENT | | 172K| 25M| 661 (1)| 00:00:08
| | 1 | LOAD TABLE CONVENTIONAL | T4 | | | |
| | 2 | TABLE ACCESS FULL | T4 | 172K| 25M| 661 (1)| 00:00:08
| --------------------------------------------------------------------------------
- Note
-----
- dynamic sampling used for this statement (level=2) Statistics
----------------------------------------------------------
162 recursive calls
6834 db block gets
3798 consistent gets
1215 physical reads
9943036 redo size
838 bytes sent via SQL*Net to client
788 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
5 sorts (memory)
0 sorts (disk)
85184 rows processed

⑤使用append插入数据:

SQL> insert /*+ append */ into t4 select * from t4;

170368 rows created.

Execution Plan
----------------------------------------------------------
ERROR:
ORA-12838: cannot read/modify an object after modifying it in parallel SP2-0612: Error generating AUTOTRACE EXPLAIN report Statistics
----------------------------------------------------------
49 recursive calls
2687 db block gets
2529 consistent gets
0 physical reads
28156 redo size
823 bytes sent via SQL*Net to client
802 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
170368 rows processed

比较一下普通插入和append插入生成的redo大小,明显append插入时生成的redo小很多。

SQL> insert /*+ append */ into t4 select * from t4;

170368 rows created.

Execution Plan

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

ERROR:

ORA-12838: cannot read/modify an object after modifying it in parallel

SP2-0612: Error generating AUTOTRACE EXPLAIN report

Statistics

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

49  recursive calls

2687  db block gets

2529  consistent gets

0  physical reads

28156  redo size

823  bytes sent via SQL*Net to client

802  bytes received via SQL*Net from client

3  SQL*Net roundtrips to/from client

1  sorts (memory)

0  sorts (disk)

170368  rows processed

【测试】自行建表并演示append+nologging,并描述数据写入后产生的效果的更多相关文章

  1. MySQL-Front 建表引发的一点小思考(数据表格模版)

    我们建表的时候,有一些字段总是会常用到的.也就是每一张表都会有这些字段. 我用mysql有一点时间了,今天(2016-02-27 21:53:38)在用mysql-front建表的时候,感觉有点点不太 ...

  2. hive建表没使用LZO存储格式,可是数据是LZO格式时遇到的问题

    今天微博大数据平台发邮件来说.他们有一个hql执行失败.可是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下.最后找到了问题的解决办法,下面是分析过程: 1.执行失败的hql: IN ...

  3. 根据javabean转换为mysql建表语句与mapper内容

    原文地址:  https://www.cnblogs.com/Jeffscnblog/p/10072483.html 一般上,我们会使用数据库表转换为javabean.dao.或是mapper,就叫逆 ...

  4. 关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用

    (非归档模式下)创建表T01: SQL> create table t01 as select * from dba_objects where 1=2; Table created. (非归档 ...

  5. SQL SERVER 自动生成 MySQL 表结构及索引 的建表SQL

          SQL SERVER的表结构及索引转换为MySQL的表结构及索引,其实在很多第三方工具中有提供,比如navicat.sqlyog等,但是,在处理某些数据类型.默认值及索引转换的时候,总有些 ...

  6. SharePoint代码建表(实战)

    分享人: 广州华软 无名 一. 前言 虽然SharePoint提供可视化界面建表,但是,不利于开发自动化部署.通常,如果通过手动建表,我们先在测试环境建表,然后存为模板,再上传到实际环境,最后根据模板 ...

  7. Mybatis动态建表

    在网上查了很多,都说Mybatis不支持动态建表,心凉了一节.还好找到这么一篇,找到了希望:http://www.zzzyk.com/show/ec5660d9cf1071b3.htm 经过在mysq ...

  8. 小贝_mysql建表以及列属性

    mysql建表以及列属性 简要: 一.建表原则 二.具体的列属性说明 一.建表原则 建表: 事实上就是声明列的过程,数据终于是以文件的形式放在硬盘(内存) 列: 不同的列类型占的空间不一样. 选列的原 ...

  9. 【转载】SQL语句将一个表的数据写入到另一个表中

    在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...

随机推荐

  1. php 获取中文的拼音

    注意事项: 无法识别的中文 亳:bo,如果有此字,结果为空,调用此类之前需要手动加判断 蚌:bang,beng,多音字 莞:guan 圳:zhen 儋:dan 漯:luo 濮:pu 泸:lu 衢:qu ...

  2. 连接数据库的URL等于多少?

    JDBC编程步骤如下: 1.加载驱动 Class.forname(driverClass); 比如:加载MySQL的驱动 Class.forname("com.mysql.jdbc.Driv ...

  3. Android SDK 4.0.3 开发环境配置及运行

    最近又装了一次最新版本的ADK环境 目前最新版是Android SDK 4.0.3 本文的插图和文本虽然是Android2.2的 步骤都是一样的,如果安装的过程中遇到什么问题,可以留言,我会尽快回复! ...

  4. ROM, RAM, Flash Memory

    ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devic ...

  5. spark RDD transformation与action函数整理

    1.创建RDD val lines = sc.parallelize(List("pandas","i like pandas")) 2.加载本地文件到RDD ...

  6. Report_矩阵报表的实现(案例)

    2014-05-31 Created By BaoXinjian

  7. codeforces 439 E. Devu and Birthday Celebration 组合数学 容斥定理

    题意: q个询问,每一个询问给出2个数sum,n 1 <= q <= 10^5, 1 <= n <= sum <= 10^5 对于每一个询问,求满足下列条件的数组的方案数 ...

  8. centos利用cloudflare的bpf-tools实现ddos防护

    概念 利用BPF( Berkeley Packet Filter)工具集结合iptables的xt_bpf模块可以实现高性能包过滤,从而应对大规模的ddos攻击.BPF Tools包含一组简单的pyt ...

  9. CentOS安装apache2(转载)

    From:http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 201 ...

  10. Java中Filter、Servlet、Listener的学习

    1.Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个reques ...