ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE 行的格式及内容(ROW FORMAT AND SIZE)

ORACLE 行的格式及内容(ROW FORMAT AND SIZE)

原创 Linux操作系统 作者:363157441 时间:2012-10-10 00:19:24 0 删除 编辑
Oracle 使用一个或多个行片段(row piece) 来存储表的每一行数据的前255列。当一个数据块(data block)可以容纳一个完整的数据行时(且表的列数小于等于256),那么此行就可以使用一个行片段来存储。当插入(insert)一个数据行,或更新(update)已有数据行时,数据行容量大于数据块容量,那么Oracle将使用多个行片段来存储此行。
 
一个行片段由行头(row header)及列数据(column data) 构成。
列数据部分包含了各列的列长及列值。
行头包含:行管理开销(row overhead),列数,cluster key ID,chained row pieces但rowid。
 
如果一行能被存储与一个数据块中, 那么其行头所需容量将不少于3字节(byte)。在行头信息之后依次存储的是各列的列长及列值(column value)。
列长存储与列值之前,如果列值不超过过250字节,那么oracle使用1字节存储其列长;如列值超过250字节,则使用3自己存储其列长。
列数据(column data)所需的存储空间取决于此列的数据类型。如果某列的数据类型为变长的,那么存储此列值所需的空间可能会随着数据更新而增长或缩小。
 
为了节约存储空间,如果某列为空,那么数据库中只存储其列长,而不存储任何数据,对位于一行末尾的空列值,数据库中将列长也忽略不存储。
如果一个表的最后3列均为空,则数据库中不会存储这3列的任何信息。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22206864/viewspace-746027/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-03

  • 博文量
    8
  • 访问量
    15399