【优化批量插入】nologging和append使用解析
来源:互联网 发布:申请售后淘宝客佣金 编辑:程序博客网 时间:2024/06/04 18:26
Nologging
更改表的日志记录方式
Alter table table_name nologging;
Alter table table_name logging;
数据库和表空间也可以定义日志记录模式,分为force logging,logging和nologging三种。
若数据库和表空间设置成了force logging模式,则会覆盖表级别的设置,即对表设置nologging不会生效。
查看数据库和表空间的force logging设置
Select name,force_logging from v$database;
Select tablespace_name,force_logging,logging from dba_tablespaces;
Nologging模式下,有些点需要需要注意
1、 并不是设置了表级别的nologging参数就会不生成redo。
它只是对个别操作以最少redo的方式产生redo。比如
insert into t_001 select。
创建index或表重建。
以append直接路径插入方式的操作
LOB大对象的操作。
而且设置了nologging并不是不生成redo,而是生成的比较少,针对操作过程中对系统表产生的redo还是会生成的。
2、 对于常规的insert、update、delete操作仍然是会生成redo的。
Append(直接路径插入)
对于批量插入类似insert into t_1 select 语句可以使用直接路径插入方式进行优化。
关于直接路径插入
会在原来的高水位之上直接分配新的区间去存储插入的数据,不会利用高水位下面的空间。
直接路径插入效率更高是因为它会产生很少的undo,以及写undo产生的redo。对于存在索引的表,对索引的更改仍然会产生undo。
直接路径插入会在表级别加上6级别的锁,会阻止所有的DML操作。
直接路径插入适合大量数据插入的场景,因为它会绕过缓存,采用直接写的方式,所以在少量数据的情况下,性能不如常规插入。
使用直接路径插入的方式
Insert /*+append*/ into t_01 select
结合使用
一般情况下,append和nologging结合使用的效果是最好的。
但是对于非归档模式下,即使没有指定nologging参数,append操作也不会生成redo。
测试用视图
通过以下sql可以查看自己的会话历史积累的redo size,在DML之前查看一下,DML之后再查看,差值就是DML操作产生的redo。
select b.name, a.value
from v$mystat a, v$statname b
where a.STATISTIC# = b.STATISTIC#
and b.name ='redo size'
- 【优化批量插入】nologging和append使用解析
- append与nologging的使用
- append与nologging的使用
- append与nologging的使用
- oracle 的nologging和append
- 批量插入数据之nologging
- 批量插入数据之nologging
- 有关nologging和append提高插入效率的研究(一)
- JDBC批量插入数据优化,使用addBatch和executeBatch
- JDBC批量插入数据优化,使用addBatch和executeBatch
- oracle nologging append 注意
- append+nologging方式
- Oracle Nologging And Append
- nologging与append测试
- ORACLE 10g append跟nologging插入对REDO的影响
- 表在nologging与logging模式下执行append插入,redo大小差别
- 快速向表中插入大量数据Oracle中append与Nologging
- 快速向表中插入大量数据Oracle中append与Nologging
- Android面试题三
- 数据库操作技巧
- C语言调用MATLAB程序之配置VS2015
- 十进制小数转换为二进制
- MySQL之——BinLog Replication升级为GTIDs Replication四步骤
- 【优化批量插入】nologging和append使用解析
- 欢迎使用CSDN-markdown编辑器
- TCP/IP详解卷一 第9章IP选路
- Linux 下 Shell 命令的分类及用法
- OJrunid:1369082 callid:163 错误的来源
- 媒体层
- 【LeetCode】130. Surrounded Regions
- elasticsearch 查询(match和term)
- 笔试编程题(二):二分查找