ORACLE_OCP之ORACLE的物理和逻辑存储结构

ORACLE_OCP之ORACLE的物理和逻辑存储结构

一、表-TABLE

  • ORACLE的表默认的类型是堆表。
    1.什么是堆表呢?
    就是把数据堆进去的表我们称之为堆表,更像是一种容器。
    2.当我们的表建立以后,会形成一个二维结构进行相关数据存放。
    3.从逻辑存储角度来说,当我们建完一个表以后,就形成了一个和表名相同的段(SEGMENT),从10g以后
    会使用一个延迟段去进行表的对象承载,10g和10g之前会立刻形成一个即时段去进行表的对象承载。
    PS.表—>段,索引—>段,物化视图—>段,物化视图日志—>段,大对象—>段。

2.SELECT * FROM A:相当于去检索A表

PS.一个数据块只属于一个区,一个区只属于一个段,一个段只属于一个表空间。

PS.一个表空间包含了多个段,一个段包含了多个区,一个区包含了多个数据块。

PS.一个段由多个数据文件构成,一个数据文件只能属于一个段。

PS.一个表至少有两个区。所以一个段(表)至少有两个区和16个数据块构成。

PS.一个数据文件只属于一个表空间。

PS.一个数据文件存放一个表有限制,只允许你的表空间下有一个段(表)并且这个表的大小不超过32G。

3.想表中插入数据,实际上就是向段中的块插入数据。

  • PS.UNDO块的主要作用

    • 为一致性读提供数据
    • 发生ROLLBACK的时候UNDO块覆盖数据块。
  • 索引

    • 通过索引查找数据行:索引—>索引扫描(找到ROWID)—>找到数据块里对应的行。
  • DELETE语句是逻辑操作,不会真的删除物理数据

    • 数据块里为什么不把DELETE数据删除掉呢?
      • 防止内存碎片化。
      • 防止ROLLBACK时UNDO出现问题,这样留足ROLLBACK凭证。
  • TRUNCATE,不是真正的把数据块删除掉,只是将数据块变成了REUSE状态等待被覆盖写。

    • TRUNCATE = DROP TABLE + CREATE TABLE。
  • PS.MYSQL的表默认的类型是所以聚簇组织表

    • 由于MYSQL的表示索引聚簇组织表,所以索引在MYSQL中式非常重要的一个数据对象,如果一个表中没有主键没有索引将会造成锁升级的现象(表会自己根据需要去建立索引,然后锁表)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值