ITPub博客

首页 > 数据库 > Oracle > Consistent Gets(就是logical read)+ DB Block Gets = 所谓的Logical Reads

Consistent Gets(就是logical read)+ DB Block Gets = 所谓的Logical Reads

原创 Oracle 作者:哎呀我的天呐 时间:2015-03-12 10:46:44 0 删除 编辑
consistent gets :db buffer cache中的块被访问的次数,不管你是CR块还是普通的块。只要被访问一次,consistent gets就加1,
SQL>show arraysize
15
显示了一次返回行数的限制,比如说一个块中有1000行数据,我要全部逻辑读这1000条数据需要1000/15 次。如果set arraysize 1000 那么就需要一次逻辑读。
它表示从Oracle服务器端一次只传递15行记录到客户端(SQLPLUS),当然了JDBC,WEBLOGIC也有行预取,具体自己Google。
db block gets : db buffer cache被更改了,计数加1。

SQL> alter system flush buffer_cache;
系统已更改。

SQL> set autot

用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
SQL> set autot traceonly stat


SQL> select * from t
已选择798945行。
统计信息

----------------------------------------------------------
1 recursive calls
0 db block gets --这个为0
63677 consistent gets
11118 physical reads
0 redo size
85740332 bytes sent via SQL*Net to client
586267 bytes received via SQL*Net from client
53264 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
798945 rows processed


SQL> select * from t;
已选择798945行。

统计信息
----------------------------------------------------------
0 recursive calls
0 db block gets
69587 consistent gets --全是一致性得到,因为已经在Buffer cache中
0 physical reads
0 redo size
85740332 bytes sent via SQL*Net to client
586267 bytes received via SQL*Net from client
53264 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
798945 rows processed

SQL> select * from t for update;
已选择798945行。

统计信息
----------------------------------------------------------
476 recursive calls
812439 db block gets --更新时,产生这个
884932 consistent gets
5 physical reads
160912940 redo size
73057198 bytes sent via SQL*Net to client
586267 bytes received via SQL*Net from client
53264 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
798945 rows processed

SQL> rollback;
回退已完成。


SQL> alter system flush buffer_cache;
系统已更改。

SQL> select * from t for update;

已选择798945行。


统计信息
----------------------------------------------------------
476 recursive calls
812437 db block gets
884836 consistent gets
11122 physical reads
160903012 redo size
73057198 bytes sent via SQL*Net to client
586267 bytes received via SQL*Net from client
53264 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
798945 rows processed


SQL> alter system flush buffer_cache;
系统已更改。


SQL> desc t;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------

OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)

SQL> update t set owner='a';

已更新798945行。


统计信息
----------------------------------------------------------
4564 recursive calls
7008787 db block gets
1123165 consistent gets
13434 physical reads
555747124 redo size
683 bytes sent via SQL*Net to client
558 bytes received via SQL*Net from client
4 SQL*Net roundtrips to/from client
16 sorts (memory)
0 sorts (disk)
798945 rows processed


SQL> select * from t;
已选择798945行。

统计信息
----------------------------------------------------------
1 recursive calls
0 db block gets
63677 consistent gets
0 physical reads
0 redo size
82886810 bytes sent via SQL*Net to client
586267 bytes received via SQL*Net from client
53264 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
798945 rows processed

可以理解 为:
consistent gets : 是由查询语句产生的,不管所查的数据是否需要构造前镜像,都要算进去
db block gets: 是由update,delete,select for update 产生的

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1456970/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
https://cloud.tencent.com/developer/inventory/14362

注册时间:2014-10-30

  • 博文量
    403
  • 访问量
    2528713