有关direct-load insert的疑问

[复制链接]
查看11 | 回复6 | 2007-8-6 15:19:01 | 显示全部楼层 |阅读模式
向大家请教:不知我的理解对不对?
INSERT INTO SELECT 可以有两种方式:direct-load insert 和非direct的。/*+append*/表明为direct-load。不知是这样么?
对于logging mode,是否是如果table 本身为nologging,在insert into select时使用logging option,是否产生redo log entries。
我想做实验来验证,可是不知如何查看是否generate redo log entries。 请大家帮忙
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
大家帮帮忙呀,这些问题我很疑惑。
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
自己去做一做,比告诉你结论强的多
SQL> select name,value from v$sysstat where name like '%redo%';
NAME
VALUE
---------------------------------------------------------------- ----------
redo synch writes
1
redo synch time
0
redo entries
60
redo size
13364
redo buffer allocation retries
0
redo wastage
5484
redo writer latching time
0
redo writes
22
redo blocks written
38
redo write time
0
redo log space requests
0
NAME
VALUE
---------------------------------------------------------------- ----------
redo log space wait time
0
redo log switch interrupts
0
redo ordering marks
0
14 rows selected.
SQL>
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
谢谢。
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
请教biti_rainy:
我做了一下实验 1。 alter table client nologging

2.select name, value from v$sysstat
where name like 'redo entries';
insert /*+append*/ into client
nologging
select * from bk_client;
select name, value from v$sysstat
where name like 'redo entries';
结果是redo entries299 。 已创建5行。 redo entries 303。
为什么会有redo entries 产生呢?
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
我顶一下吧
回复

使用道具 举报

千问 | 2007-8-6 15:19:01 | 显示全部楼层
和系统的变化,是要产生日志的,回滚信息的日志是要产生的
对于插入的数据不产生日志而已
所以你应该对比两种方式下日志量的多少来衡量
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行