--版本信息
SELECT * FROM v$version;
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Prod
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for 32-bit Windows: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production --查看是否归档
select name,log_mode from v$database;
1 ORCL NOARCHIVELOG
或sqlplus:ARCHIVE LOG LIST; --创建查看产生redo大小的视图
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';

1.在非归档模式下

--!!!!!!!!!!!非归档模式 产生的redo!!!!!!!!!!!!!!!!!!
--==============nologging表================
SELECT * FROM sys.redo_size;
--redo_size:0
create table test_nolog nologging as select * from dba_objects where 1=0;
--redo_size:17932
insert into test_nolog select * from dba_objects;
--redo_size:5772780
insert /*+ APPEND */ into test_nolog select * from dba_objects;
--redo_size:5782548
select (5782548-5772780) redo_append, (5772780-17932) redo_normal from dual;
9768 5754848
--================logging============================
--redo_size:11778596
create table test_log as select * from dba_objects where 1=0;
--redo_size:11799284
insert into test_log select * from dba_objects;
--redo_size:17555812
insert /*+ APPEND */ into test_log select * from dba_objects;
--redo_size:17565544
select (17565544-17555812) redo_append, (17555812-11799284) redo_normal from dual;
9732 5756528

结论:非归档模式下,只需append就能大量减少redo的产生,如果不加append,即使是nologing表也会产生一样多的redo;

2.在归档模式下

--修改为归档模式
set ORACLE_SID=ORCL
sqlplus / as sysdba SYS@ORCL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 544
当前日志序列 546
SYS@ORCL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG SYS@ORCL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SYS@ORCL> startup mount
ORACLE 例程已经启动。 Total System Global Area 1258291200 bytes
Fixed Size 1304848 bytes
Variable Size 201328368 bytes
Database Buffers 1048576000 bytes
Redo Buffers 7081984 bytes
数据库装载完毕。
SYS@ORCL> alter database ARCHIVELOG; 数据库已更改。
SYS@ORCL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 544
下一个存档日志序列 546
当前日志序列 546
SYS@ORCL> alter database open; 数据库已更改。
--!!!!!!!!!!!归档模式 产生的redo!!!!!!!!!!!!!!!!!!
--==============nologging表================
SELECT * FROM redo_size;
--redo_size:0
insert into test_nolog select * from dba_objects;
--redo_size:5729772
insert /*+ APPEND */ into test_nolog select * from dba_objects;
--redo_size:5739436
select (5739436-5729772) redo_append, (5729772-0) redo_normal from dual;
9664 5729772
--================loging============================
--redo_size:5729772
insert into test_log select * from dba_objects;
--redo_size:11355620
insert /*+ APPEND */ into test_log select * from dba_objects;
--redo_size:17123736
select (17123736-11355620) redo_append, (11355620-5729772) redo_normal from dual;
5768116 5625848

结论:归档模式下,append并且表为nologging 才能减少redo的产生,其余情况没效果;

对比append插入数据产生的redo量的更多相关文章

  1. Oracle快速插入数据append

    1:用merge into 进行匹配更新和插入,2: 开启并行,提高速度3: 如果可以的话加NOLOGING 不写入日志4:如果数据有规律的话,分批次执行 1.使用marge快速插入; MERGE / ...

  2. Oracle 插入数据效率对比

    oracle插入数据有多种方式: 将从多个表中查出来的数据插入到临时表中 数据行数 5189597 1.传统方式:直接将数据插入到表中 insert into LLB_BASIC_USER_D_TEM ...

  3. android批量插入数据效率对比

    对比在android中批量插入数据的3中方式对比(各插入1W条数据所花费的时间): 1. 一个一个插入 /** * 向表中插入数据 * * @param openHelper * @param app ...

  4. IT题库2-LinkList和ArrayList(插入数据、末尾插入数据、不同数据量插入数据)的效率?

    ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references).ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全,原因 ...

  5. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  6. Entity Framework与ADO.NET批量插入数据性能测试

    Entity Framework是.NET平台下的一种简单易用的ORM框架,它既便于Domain Model和持久层的OO设计,也提高了代码的可维护性.但在使用中发现,有几类业务场景是EF不太擅长的, ...

  7. 批量插入数据(基于Mybatis的实现-Oracle)

    前言:做一个数据同步项目,要求:同步数据不丢失的情况下,提高插入性能. 项目DB框架:Mybatis.DataBase:Oracle. -------------------------------- ...

  8. C#_批量插入数据到Sqlserver中的四种方式

    先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记 ...

  9. MySQL批量插入数据的几种方法

    最近公司要求测试数据库的性能,就上网查了一些批量插入数据的代码,发现有好几种不同的用法,插入同样数据的耗时也有区别 别的先不说,先上一段代码与君共享 方法一: package com.bigdata; ...

随机推荐

  1. n点游戏

    n点游戏 24点游戏是非常经典而简单的小游戏,从一堆扑克牌中抽取4张,向其中添加运算符号并使其运行结果恰等于24,这叫作24点游戏. 现在我们不再是组合24,而是组合出给定的数字n,但要求只可以利用任 ...

  2. 微信公众号--JS-SDK

    JS-SDK 微信JS-SDK是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以 ...

  3. P1095 守望者的逃离

    P1095 守望者的逃离 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这 ...

  4. android 怎么判断activity 从哪里启动的

    有时候,你想要知道,有一个activity 从哪里启动的.怎么才能知道呢? 1.前提是,androidstadio 你下载了源码.找到你的activityBase的实现类,在startActivity ...

  5. ExtJs工具篇(2)——Aptana Studio 3 汉化

    本身用的是中文版本的,但是输入一些中文后,竟然有乱码,所以就想把它汉化.在网上搜索了一下,把步骤记录如下: 首先到这个网站去 http://aptana.com/support 选择View Docu ...

  6. 从一个线上服务器警告谈谈backlog

    缘起 双十一如期而至,此时的我因为在处理客户的一个问题已经陷入了忙碌.突然,不断接到驻场实施发来的反馈,都是相同的反馈--"客户端操作缓慢". 我现在负责的服务器是一台接口服务器, ...

  7. Kotlin的Reified类型:怎样在函数内使用这一类型(KAD 14)

    作者:Antonio Leiva 时间:Mar 2, 2017 原文链接:https://antonioleiva.com/reified-types-kotlin/ 对于Java开发者来说,最懊恼的 ...

  8. 剑指offer-变态跳台阶09

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution: def jumpFloorII(self, n ...

  9. Week2 Teamework from Z.XML 软件分析与用户需求调查(三)必应助手体验评测

    评测人:毛宇 肖俊鹏 说明:言辞激烈,请勿介意 我花了2天的时间来试用这个软件<必应缤纷桌面手机助手>,有了很多体会,这里,我来谈一下这款软件在体验部分的表现情况. 体验部分主要分为三个部 ...

  10. Python + OpenCV 实现LBP特征提取

    背景 看了些许的纹理特征提取的paper,想自己实现其中部分算法,看看特征提取之后的效果是怎样 运行环境 Mac OS Python3.0 Anaconda3(集成了很多包,浏览器界面编程,清爽) 步 ...