linux 内存水线,初识高水位线(high-water mark)

今天在看关于undo的章节的时候遇到HWM(high-water mark)这个概念,以前隐约有听过,但并未深入了解,查了些相关解释并自己动手做了下实验。概念了解:在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象成书库中的水。水库中水的位置有一条线叫做水位线,在Oracle中这条线被称为高水位线(HWM)。在数据库表刚建立的时候,由于没有任何数据,HWM=0(最低值)。当插入数据...
摘要由CSDN通过智能技术生成

今天在看关于undo的章节的时候遇到HWM(high-water mark)这个概念,以前隐约有听过,但并未深入了解,查了些相关解释并自己动手做了下实验。

概念了解:

在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象成书库中的水。水库中水的位置有一条线叫做水位线,在Oracle中这条线被称为高水位线(HWM)。在数据库表刚建立的时候,由于没有任何数据,HWM=0(最低值)。当插入数据以后,HWM会上涨,需要注意的是就算用DELETE语句删除数据,HWM也不会下降,即HWM在日常的增删操作中只会上涨不会下跌。

在执行SELECT语句时,SELECT会对表中的数据进行一次扫描,ORACLE会扫描HWM一下的数据块,而不是说数据库中有多少数据就扫描这么大的数据块(也许平时应用中遇到的查询速度慢可能就跟这个原因有关,但当时没有这个概念````)

如何知道一个表的HWM呢?

1.先对表进行分析:

ANALYZE TABLE T ESTIMATE STATISTICS;

2.

SELECT table_name,num_rows,blocks,empty_blocks

FROM user_tables

WHERE table_name='T';

TABLE_NAME  NUM_ROWS     BLOCKS EMPTY_BLOCKS

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

T                                    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值