WEB开发网
开发学院数据库Oracle 索引在ORACLE中的应用分析 阅读

索引在ORACLE中的应用分析

 2008-09-08 12:53:16 来源:WEB开发网   
核心提示: 什么情况下应该建立索引表的主关键字自动建立唯一索引如zl_yhjbqk(用户基本情况)中的hbs_bh(户标识编号)表的字段唯一约束ORACLE利用索引来保证数据的完整性如lc_hj(流程环节)中的lc_bh+hj_sx(流程编号+环节顺序)直接条件查询的字段在SQL中用于条件约束的字段如

什么情况下应该建立索引

表的主关键字

自动建立唯一索引

如zl_yhjbqk(用户基本情况)中的hbs_bh(户标识编号)

表的字段唯一约束

ORACLE利用索引来保证数据的完整性

如lc_hj(流程环节)中的lc_bh+hj_sx(流程编号+环节顺序)

直接条件查询的字段

在SQL中用于条件约束的字段

如zl_yhjbqk(用户基本情况)中的qc_bh(区册编号)

select * from zl_yhjbqk where qc_bh=’<????甼曀???>7001’

查询中与其它表关联的字段

字段常常建立了外键关系

如zl_ydcf(用电成份)中的jldb_bh(计量点表编号)

select * from zl_ydcf a,zl_yhdb b where a.jldb_bh=b.jldb_bh and b.jldb_bh=’540100214511’

查询中排序的字段

排序的字段如果通过索引去访问那将大大提高排序速度

 select * from zl_yhjbqk order by qc_bh(建立qc_bh索引)
 select * from zl_yhjbqk where qc_bh=’7001’ order by cb_sx(建立qc_bh+cb_sx索引,注:只是一个索引,其中包括qc_bh和cb_sx字段)

查询中统计或分组统计的字段

select max(hbs_bh) from zl_yhjbqk
 select qc_bh,count(*) from zl_yhjbqk group by qc_bh

什么情况下应不建或少建索引

表记录太少

如果一个表只有5条记录,采用索引去访问记录的话,那首先需访问索引表,再通过索引表访问数据表,一般索引表与数据表不在同一个数据块,这种情况下ORACLE至少要往返读取数据块两次。而不用索引的情况下ORACLE会将所有的数据一次读出,处理速度显然会比用索引快。

上一页  1 2 3 4 5  下一页

Tags:索引 ORACLE 应用

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