Oracle granularity=>,一个internal的问题:Oracle的一个extent中的block在物理存储上是连续的吗?...

是该编号附近的在同一个extent内的blocks

这个在metalink文档中有说明

windows下测试

SQL> drop table t;

表已丢弃。

SQL> create table t tablespace test as select * from dba_objects;

表已创建。

SQL> insert into t select * from t;

已创建6331行。

SQL> commit;

提交完成。

SQL> select file_id,extent_id,block_id,blocks from dba_extents where owner='TEST' and segment_name='

T';

FILE_ID  EXTENT_ID   BLOCK_ID     BLOCKS

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

4          0          9         32

4          1         41         32

4          2         73         32

4          3        105         32

4          4        137         32

SQL> alter session set db_file_multiblock_read_count=16;

会话已更改。

SQL> ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER,LEVEL 12';

会话已更改。

SQL>

SQL> select count(*) from t;

COUNT(*)

----------

12662

SQL> exit

从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production中断开

trace

PARSING IN CURSOR #1 len=22 dep=0 uid=23 oct=3 lid=23 tim=136424432868 hv=2199322426 ad='7b3e0898'

select count(*) from t

END OF STMT

PARSE #1:c=0,e=21795,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=136424432851

BINDS #1:

EXEC #1:c=0,e=4015,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=136424456603

WAIT #1: nam='SQL*Net message to client' ela= 11 p1=1111838976 p2=1 p3=0

WAIT #1: nam='db file scattered read' ela= 33200 p1=4 p2=10 p3=16

WAIT #1: nam='db file scattered read' ela= 21724 p1=4 p2=26 p3=15

WAIT #1: nam='db file scattered read' ela= 3197 p1=4 p2=41 p3=16

WAIT #1: nam='db file scattered read' ela= 11001 p1=4 p2=57 p3=16

WAIT #1: nam='db file scattered read' ela= 2687 p1=4 p2=73 p3=15

FETCH #1:c=40057,e=130616,p=78,cr=160,cu=0,mis=0,r=1,dep=0,og=4,tim=136424598085

SQL> drop table t;

表已丢弃。

SQL> create table t tablespace users as select * from dba_objects;

表已创建。

SQL> insert into t select * from t;

已创建6331行。

SQL> /

已创建12662行。

SQL> commit;

提交完成。

SQL> select file_id,extent_id,block_id,blocks from dba_extents where owner='TEST' and segment_name='

T';

FILE_ID  EXTENT_ID   BLOCK_ID     BLOCKS

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

3          0         33          8

3          1         73          8

3          2         81          8

3          3         89          8

3          4        169          8

3          5        177          8

3          6        185          8

3          7        193          8

3          8        201          8

3          9        209          8

3         10        217          8

FILE_ID  EXTENT_ID   BLOCK_ID     BLOCKS

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

3         11        225          8

3         12        233          8

3         13        241          8

3         14        249          8

3         15        257          8

3         16      12169        128

3         17      12297        128

已选择18行。

SQL> alter session set db_file_multiblock_read_count=20;

会话已更改。

SQL> ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER,LEVEL 12';

会话已更改。

SQL>

SQL> select count(*) from t;

COUNT(*)

----------

25324

SQL> exit

从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production中断开

C:\>

PARSING IN CURSOR #1 len=22 dep=0 uid=23 oct=3 lid=23 tim=136872504466 hv=2199322426 ad='7b3e0898'

select count(*) from t

END OF STMT

PARSE #1:c=0,e=1159,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=136872504449

BINDS #1:

EXEC #1:c=0,e=4618,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=136872527767

WAIT #1: nam='SQL*Net message to client' ela= 10 p1=1111838976 p2=1 p3=0

WAIT #1: nam='db file scattered read' ela= 27197 p1=3 p2=36 p3=5

WAIT #1: nam='db file scattered read' ela= 23246 p1=3 p2=73 p3=8

WAIT #1: nam='db file scattered read' ela= 1346 p1=3 p2=82 p3=7

WAIT #1: nam='db file scattered read' ela= 3372 p1=3 p2=89 p3=8

WAIT #1: nam='db file scattered read' ela= 17965 p1=3 p2=170 p3=7

WAIT #1: nam='db file scattered read' ela= 2460 p1=3 p2=177 p3=8

WAIT #1: nam='db file scattered read' ela= 1403 p1=3 p2=186 p3=7

WAIT #1: nam='db file scattered read' ela= 1759 p1=3 p2=193 p3=8

WAIT #1: nam='db file scattered read' ela= 1444 p1=3 p2=202 p3=7

WAIT #1: nam='db file scattered read' ela= 1454 p1=3 p2=209 p3=8

WAIT #1: nam='db file scattered read' ela= 1053 p1=3 p2=218 p3=5

由上面p1  file_id   p2  block_id   p3  blocks 可以看出IO次数和相关blocks

事实上一次IO除了和这个参数有关,还和extent有关,一次IO是不能越过extent的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值