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