WEB开发网
开发学院数据库Oracle Oracle数据库中利用索引表提高查询速度 阅读

Oracle数据库中利用索引表提高查询速度

 2008-11-18 13:00:50 来源:WEB开发网   
核心提示: 对于变换这么频繁的表格,建立索引表就不怎么合适,Oracle数据库中利用索引表提高查询速度(3),此时,我们需要为其建立基本表,否则的话,会有错误产生,然后在基本表上建立索引,这虽然查询效果没有索引表那么好

对于变换这么频繁的表格,建立索引表就不怎么合适。此时,我们需要为其建立基本表,然后在基本表上建立索引。这虽然查询效果没有索引表那么好,但是,却可以大大减少Oracle数据库的开销。所谓,有得必有失。数据库管理员有时候还必须在这个得失之间寻求一个平衡。以期数据库整体性能的最优化。

3、 灵活利用溢出存储功能。

普通B树索引条目一般比较小,因为在每个索引条目中仅保存索引列的值与ROWID的值。但是,因为索引表中的每个索引条目都包有整条地记录,所以,索引表中的索引条目就可能会很大。为此,用户若在索引表中查询数据,其查询的只是其中一部分字段内容的话,索引表的效果就体现不出来。相反,若表中的字段比较多的话,则效果会适得其反。为此,在Oracle数据库中,采用了溢出存储功能来应对索引表的这个缺陷。

如在一张员工基本信息表中,他有员工姓名、员工编号、员工出身年月、身份证号码、住址、户口、民族等信息,长达几十个字段。但是,在平时的时候,我们基本上只需要查询员工的姓名、编号、身份证号码即可。而不需要其他的信息。

此时,当员工比较多的时候,就需要把这张表转换成索引表,然后采用溢出管理功能,来提高员工信息常用字段的查询速度。把用户经常需要用到的员工姓名、编号、身份证号码等字段保存在叶子节点上。而把其他不常用的字段采取“溢出存储”策略。

四、索引表的建立与使用

在介绍索引表与基本表的差异时,笔者已经说过,两者的差异主要体现在存储结构上。故对于用户使用是没有多大影响的。

在索引表的建立上,可以参考相关的书籍。笔者在这里只是要强调,在索引表建立过程中的几个关键点。

一是在索引表中,不能对非主键建立索引,。这是索引表建立的一个限制条件,数据库管理人员必须无条件的遵守。二是必须给索引表建立主键。有些数据库管理员有个习惯,在建立表的时候,一开始不设置主键。等到表维护的时候,再确定某个字段作为主键。但是,在索引表建立的时候,一开始就要指定表的主键,否则的话,会有错误产生。这也是数据库管理人员需要注意的。

上一页  1 2 3 

Tags:Oracle 数据库 利用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接