Oracle数据库的常用字段的描述

数据库 Oracle
以下的文章主要介绍的是Oracle数据库自增字段,弹性字段,以及Oracle数据库的拆分字段的相关内容的描述,以下就是正文的描述。

所谓的自增字段,就是指随着我们实际使用,Oracle数据库就可以自动增加相关的字段。这些字段的值一般都是没有明确的相关含义,只用于一个唯一标识,这个字段一般也会设置成主键。

Oracle数据库自增字段

如果应用只针对Oracle数据库,而不考虑数据库无关性,那么sequence无非是最好的一个选择。对于以前用习惯MSSQL等其它数据库的朋友来说,Oracle这种用法简直是太费劲了,要花很大的功夫才能做好一个自增字段,但是正因为如此,它也带来了其它数据库不能相比的优点,举例来说,一个订单系统,即有订单头,又有订单行,一般是先插入订单头,再插入订单行,对于MSSQL等数据库的自增字段,只有插入后才知道具体的ID值是多少,那么写入后,还要返查一下这个字段值再给订单行使用;而对于oracle来说,只要先从sequence里取出一个值来,头和行一起使用即可,最主要是的sequence的效果是非常高的,不需要担心性能问题。

Oracle数据库弹性字段

在数据库表结构设计的时候,最好多留出几个备用的字段来,因为随着系统的使用,一般会有增加字段的需求。预留字段的好处是,只要需要的时候启用即可,不需要进行DDL操作,对数据库后期维护的风险很低,并且一般的DDL操作,会造成级联的VIEW/PACKAGE等程序失效,预留了弹性字段,则不会有这个问题。

预留的字段也可以按类型分成三种:字符串型,数值型及日期型,可以每个类型预留10个,或根据需要来决定,可以采用如下的样式:

 

  1. NUMBER_ATTRIBUTE1   
  2. STRING_ATTRIBUTE1   
  3. DATE_ATTRIBUTE1   

 

弹性字段如果不启用,会不会占用过多的存储空间呢,答案是否定的,因为在这种大型数据库的结构中,只有一个字段真正被用到的时候,才会去占用实际的空间,否则它只是一个“说明”,并不占用实际的空间,所以不会造成空间浪费。

Oracle数据库拆分字段

这并不是一个字段的类型,而是指在表设计的时候,可以适当的把一个大表拆成不同的小表来存储,比如用户表,可以包括登录名,密码,姓名,生日,等一系列的字段,在某些情况下,包括的会员属性可能达到上百个之多。

在数据量小的时候,无论怎么样的存储,都不会有性能问题,但是当数据量比较大的时候,就必须考虑性能问题。如果索引比较合理,不管数据量多大,一般查询速度都不会太慢,但是当某些特别情况,不能使用索引的时候,就会产生FTS(所谓的全表扫描)。

那么扫描一个小表和扫描一个大表所占的时间就完全不一样了,所以建议比较大的表分开存储,把常用的几个字段单独提取出来,这样即便全表扫描,也能比较好的控制效率。

在使用的时候,只要主表和子表都有索引,把它们联合起来查询,和一个真正的大表的效果基本上是一样的,虽然性能肯定比一个真实的大表慢一点,但是和另一方面的性能提升比较起来,是值得的。

【编辑推荐】

  1. 三种Oracle备份方其特点介绍
  2. Oracle数据库中什么情况下会出现冷备份
  3. Oracle数据安全性的介绍
  4. Oracle安装路径的实际操作
  5. 如何用Oracle 9i全索引扫描完成任务
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-09 10:32:03

Oracle 数据库

2010-04-14 15:45:49

Oracle 数据库

2010-04-26 09:10:09

Oracle数据库

2010-04-15 08:57:29

Oracle数据库

2010-04-22 16:16:35

Oracle数据库

2010-04-14 10:56:07

Oracle数据库

2010-04-16 16:09:41

Oracle数据库

2009-11-24 19:02:35

PHP常用字符串

2010-04-06 16:50:07

Oracle数据库

2010-04-09 13:59:48

Oracle数据库索引

2010-04-19 11:30:34

Oracle数据库

2011-03-07 17:51:00

Oracle数据库优缺点

2010-04-08 18:54:32

Oracle数据库

2010-04-23 14:32:01

Oracle数据库

2010-04-06 11:02:30

Oracle 数据库

2010-04-13 10:55:35

Oracle数据库

2011-05-26 14:18:49

Oracle数据库字段属性

2010-04-29 10:56:46

Oracle数据库

2010-04-14 17:57:52

Oracle数据库

2010-04-22 09:42:00

点赞
收藏

51CTO技术栈公众号