|
最初由 biti_rainy 发布
[B]是该编号附近的在同一个extent内的blocks
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;
会话已更改。
...
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的 [/B]
block_id=201为什么没有读取? 全表扫描应该读所有的block啊?
是不是201中没有数据信息, 而是段头信息或者其他?
请大师释疑, 多谢 |
|