ITPub博客

首页 > 数据库 > Oracle > ORACLE笔记十五

ORACLE笔记十五

原创 Oracle 作者:wodemingzizhen 时间:2005-02-24 14:20:19 0 删除 编辑

第十五章

索引是一种可选的与表或簇相关的数据库对象,主要用于提高针对表的查询速度。索引与表一样,具有独立的段存储结构,需要在表空间中分配存储空间,并且可以通过设置存储参数来控制索引段的区分配方式。索引可以由用户显式创建,也可以由ORACLE自动创建。

[@more@]

常用的索引类型:B树索引、位图索引、反序索引、聚簇索引、散列簇索引、全局与本地索引、函数索引。

索引无论是在逻辑上还是在物理上都不依赖于相应的表,它们与其他具有独立存储结构的模式对象一样都需要占用实际的存储空间。创建或删除索引的操作不会影响到数据库中的表、数据库应用程序或者其他的索引,这也是索引独立性的一个体现(但是创建或删除表的操作会引起创建或删除索引的操作)。如果删除索引可能会引导查询的速度会减慢。

如果在创建索引时表中已经包含了许多数据,创建索引操作会要求在内存中使用一个比较大的排序区,每个数据库用户所能使用的排序区大小由初始化参数SORT_AREA_SIZE决定。

创建和管理索引时应当遵循一些策略:

1、在完全导入全部所需数据后再创建索引,这样会节省数据操作的时间。

2、在适当的表与字段中创建索引:对比较大的表来说,如果经常要查询的记录数目少于表中所有记录数目的15%,可以考虑库该表建立索引;如果经常要进行连接查询的多个表来说,在连接的字段上创建索引能够显著提高查询的速度。

3、合理设置复合索引中的字段顺序。

4、限制表中索引的数目。

5、为索引设置合适的PCTFREE参数。

6、选择存储索引的表空间。

分区的概念:是指将巨型的表或索引分割成相对较小的、可独立管理的部分,这些部分称为原来的表或索引的分区。分区后的表与未分区的表在执行查询语句或其他DML(数据操作语言)语句时没有任何区别。相反,一旦进行分区之后,使用DDL(数据定义语言)时还可以对每个单独的分区进行操作。

因此,对巨型表或者索引进行分区,能够简化对它们的管理和维护操作,而且分区对于最终用户和应用程序是完全透明的。

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

下一篇: 地图
请登录后发表评论 登录
全部评论

注册时间:2010-01-31

  • 博文量
    178
  • 访问量
    5549803