ITPub博客

首页 > 数据库 > Oracle > oracle 11g concepts

oracle 11g concepts

原创 Oracle 作者:sduzjw 时间:2015-05-14 14:29:15 0 删除 编辑
数据库内部使用数值来存储日期型数据,日期型数据类型的长度固定为7字节。
TIMESTAMP可以存储更精确的时间,例如可以用在应用程序需要按时间顺序跟踪事件中
可以在临时表上创建索引,视图,触发器,他们都是会话相关或事务相关的。
外部表驱动ORACLE_LOADER(只读),ORACLE_DATAPUMP(有限制性的读写)
堆组织表中的行不是排序的。当用户插入行时,数据库将该行放在段的第一个可用的空闲空间。堆组织表不能确保读取的行是按照插入的顺序读出来的
数据库存储列是按照CREATE TABLE中的顺序来存储的,但是如果列中有LONG类型的,则这样的列是放在最后面。当向表添加新列时,新加列成为表的最后一列。
虚拟列可以创建索引,收集统计信息,创建完整性约束,就跟普通的非虚拟列非常想像。
表的列低于256个并且表中有数据的,那么每一行都将存储在一个或多个ROW PIECE中。如果有可能,数据库会将每一行当作一个ROW PIECE进行存储,但是当不能在一个数据块中存储或由于更新导致在一个数据块中放不下了,那么数据库会使用多个ROW PIECE来存储这样的行。
NULL列出现在2个有值的列中间时,NULL列需要占用一个字节的长度来存储该列长度即ZERO,如果NULL列出现在有数据的列的后面,那么这样的列不会占用空间。新行的ROW HEADER会指出前一行的后面的这些列是空的。Nulls are stored in the database if they fall between columns with data values. In these cases, they require 1 byte to store the length of the column (zero). Trailing nulls in a row require no storage because a new row header signals that the remaining columns in the previous row are null. For example, if the last three columns of a table are null, then no data is stored for these columns.
表压缩不仅可以节省磁盘上的存储空间,还可以节省内存中的数据库缓存池中的内存
普通表压缩:只能用于批量数据加载,对于普通的DML并不能实现数据压缩,只能通过直接路径加载,ALTER TABLE MOVE,或在线表重定义来达到数据压缩的目的。
高级行压缩:适用于OLTP中普通的DML操作,以达到数据压缩的目的。
普通、高级行压缩表中的行的存储使用row-major format。一行的所有列都存储在一起,接下来再存储另一行的所有列。重复的数据被一个引用代替,这个引用指向存储在数据块的开始处的一个符号表,因此用于重建非压缩数据的信息都包含在同一个块中(块自包含)。
可以在表空间,表,分区,子分区级别使用压缩,如果在表空间级别使用了压缩功能,那么默认的存储在该表空间中的所有的表都将被压缩。
表的多个分区可以支持同时使用 两种 压缩方式。

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

下一篇: K-DB交流会感想
请登录后发表评论 登录
全部评论

注册时间:2010-06-11

  • 博文量
    33
  • 访问量
    93113