堆组织表(heap organized table)

Oracle中有很多类型的表,像堆组织表、索引组织表、索引聚簇表等等。首先,我将从最基本、最常用的堆组织表(heap organized table)介绍。

通常我们默认建的表就是堆组织表。语法(详细语法请参见Oracle官方文档)如下:

数据会以堆的方式管理,增加数据时,会使用段中找到的第一个能放下此数据的自由空间。当从表中删除数据时,则允许以后的INSERTUPDATE重用这部分空间。它是以一种有些随即的方式使用。

很多初学者会想当然的以为数据的插入会按顺序进行,第一条肯定排在第一位,接着是第二条,一直到最后。可当SELECT查询的时候,返回的结果往往让人失望。排列的顺序让人大跌眼镜,下面来看一个例子。

全表扫描时,会按命中的顺序来获取数据,而不是按插入的顺序。这是一个必要要了解的重要的数据库概念。一般来说,数据库表本质上是无序的数据组合。还有一种情况,如果我插入一个小行,其后是一个非常大的行,而且这个大行与小行是无法放在同一个块上的,然后又插入一个小行,那么观察到的结果很可能是“小行,小行,大行”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值