暂无图片
SQL ORDER BY READS(GETS) 和INSERT语句有关?
我来答
分享
Thomas
2022-09-06
SQL ORDER BY READS(GETS) 和INSERT语句有关?

11G RAC,前两天归档暴增,调出当时AWR,发现有个INSERT语句(表就两个字段:ID和MSG,MSG为BLOB类型)产生了大量REDO LOG,进而又产生了大量ARCHIVELOG。但,AWR里,SQL ORDER BY READS, SQL ORDER BY GETS两项,该语句均排名首位。网上说:

SQL ordered by Reads is the number of physical reads from your disks before you load the buffer cache and present the data to user process.
SQL ordered by Gets is the number of logical reads from the buffer cache to the user process.

一个新增记录的INSERT,为何会产生这么多SQL BY READS(GETS)呢?我个人觉得,只有SELECT 语句才会涉及BY READS(GETS)吧?哪位可以解释下?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
张sir

insert语句也会产生READS(GETS),因为插入一条记录,数据库就要维护他的索引,需要读索引块,你的表上有lob,至少会有一个lob的索引。另外就是oracle找空块的时候也是会产生读io的。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
布衣
2022-09-07
涨到知识了
刘贵宾




暂无图片 评论
暂无图片 有用 0
打赏 0
刘贵宾
答主
2022-09-06
语句逻辑I/O和物理I/O
Thomas

感觉还是迷惑,insert into t values (:id, :msg);  其中msg是blob类型,这种和SQL ORDERED BY READS(GETS)到底有什么关联? 

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏