oracle 数据类型

     number 数据类型

 

  number(precision  scale) 分别表示精度  也就是 数字位数 , 另外一个代表小数位, 小数点右侧的数据位数

 

如果用户没有设定精度 则此列直接存储输入的值,如果用户没有设定小数位 , 则小数位默认为0

 

 

 

 

 

oracle 为存储浮点数 提供了两种专用的数据类型  binaryfloat 和 binarydouble 这两种数据类型均支持number 数据类型所

 

 

提供的基本功能。 但这两种数据类型采用二进制精度 , 能够提供更快的数学运算速度  并且能减少占用的存储空间

 

binaryfloat 是一种32位, 单精度浮点数字数据类型, 每个binaryfloat需要5字节存储空间 , 其中1字节用于存储数据值的长度

 

 

binarydouble是一种64位,双精度浮点数字数据类型,每个binarydouble需要9字节存储空间,其中1字节用于存储数据值的长度

 

 

oracle 使用rowid 数据类型存储每个数据行在数据库中的地址

 

 

物理rowid  用于存储常规表 , 簇表等等数据行的地址

 

逻辑rowid 用于存储索引表数据行的地址

 

用户可以像使用其他数据列一样使用rowid虚列中的rowid值

 

 

通过物理rowid可以最快的速度访问表的数据行, 物理rowid包含了数据行的物理地址

 

rowid赋予数据行后将保持不变,直到执行了导入导出操作,当用户提交了包含删除数据行操作的事务后

 

被删除数据行的rowid有可能被后续事务中插入的新数据行使用

 

 

扩张rowid 的格式可分为4段

 

数据对象编号  位于相同数据段中的方案对象,例如簇中的数据表具有相同的数据对象标号

 

数据文件编号

 

数据块 数据块编号与其所在的数据文件有关,而非与表空间相关,因此两个具备相同数据块编号的数据行可能存在于同一个表空间的不同的数据文件中

 

 

数据块中的数据行

 

 

受限rowid

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值