签到成功

知道了

CNDBA社区CNDBA社区

select 水位线的奥秘

2017-05-19 15:10 2105 1 原创
作者: Anshen
select 水位线的奥秘
  Select语句会对表中的数据进行一次扫描,但是究竟扫描多少数据存储块呢,这个并不是说数据库中有多少数据,Oracle就扫描这么大的数据块, 而是Oracle会扫描高水位线以下的数据块。 现在来想象一下,如果刚才是一张刚刚建立的空表,你进行了一次Select操作,那么由于高水位线HWM在最低的0位置上,所以没有数据块需要被扫描,扫描时间会极短。而如果这个时候你首先插入了一千万条数据,然后再用delete语句删除这一千万条数据。由于插入了一千万条数据,所以这个时候的高水位线就在一千万条数据这里。后来删除这一千万条数据的时候,由于delete语句不影响高水位线,所以高水位线依然在一千万条数据这里。这个时候再一次用select语句进行扫描,虽然这个时候表中没有数据,但是由于扫描是按照高水位线来的,所以需要把一千万条数据的存储空间都要扫描一次,也就是说这次扫描所需要的时间和扫描一千万条数据所需要的时间是一样多的。 所以有时候有人总是经常说,怎么我的表中没有几条数据,但是还是这么慢呢,这个时候其实奥秘就是这里的高水位线了。
http://www.cndba.cn/redhat/article/1918 http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918 http://www.cndba.cn/redhat/article/1918
http://www.cndba.cn/redhat/article/1918

版权声明:本文为博主原创文章,未经博主允许不得转载。

select 水位线的奥秘

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Anshen

Anshen

关注

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

  • 69
    原创
  • 0
    翻译
  • 5
    转载
  • 8
    评论
  • 访问:291821次
  • 积分:326
  • 等级:中级会员
  • 排名:第13名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ