Oracle 支持两种类型的聚簇:索引聚簇和哈希聚簇
使用索引聚簇指南
l 考虑对经常在连接语句中访问的表建立聚簇。
l 如果表只是偶尔被连接或者它们的公共列经常被修改,则不要聚簇表。(修改记录的聚簇键值比在非聚簇的表中修改此值要花费更多的时间,因为 Oracle 必须将修改的记录移植到其他的块中以维护聚簇)。
l 如果经常需要在一个表上进行完全搜索,则不要聚簇这个表(对一个聚簇表进行完全搜索比在非聚簇表上进行完全搜索的时间长, Oracle 可能要读更多的块,因为表是被一起存储的。)
l 如果经常从一个父表和相应的子表中查询记录,则考虑给 1 对多( 1:* )关系创建聚簇表。(子表记录存储在与父表记录相同的数据块中,因此当检索它们时可以同时在内存中,因此需要 Oracle 完成较少的 I/O )。
l 如果经常查询同一个父表中的多个子记录,则考虑单独将子表聚簇。(这样提高了从相同的父表查询子表记录的性能,而且也没有降低对父表进行完全搜索的性能)。
l 如果从所有有相同聚簇键值的表查询的数据超过一个或两个 Oracle 块,则不要聚簇表。(要访问在一个聚簇表中的记录, Oracle 读取所有包含那个记录值的全部数据块,如果记录占据了多个数据块,则访问一个记录需要读的次数比一个非聚簇的表中访问相同的记录读的次数要多)。
使用哈希聚簇指南
l 当经常使用有相同列的包含相等条件的查询子句访问表时,考虑使用哈希聚簇来存储表。使用这些列作为聚簇键。
l 如果可以确定存放具有给定聚簇键值的所有记录所需的空间(包括现在的和将来的),则将此表以哈希聚簇存储。
l 如果空间不够,并且不能为将要插入的新记录分配额外的空间,那么不要使用哈希聚簇。
l 如果偶尔创建一个新的、很大的哈希聚簇来保存这样的表是不切实际的,那么不要用哈希聚簇存储经常增长的表。
l 如果经常需要进行全表搜索,并且必须要为表的预期增长中的哈希聚簇分配足够的空间,则不要将此表以哈希聚簇存储。(这样的完全检索必须要读分配给哈希聚簇的全部块,即使有些块可能只包含很少的记录。单独地存储表将减少由完全的表检索读取的块的数量。)
l 如果你的应用程序经常修改聚簇键的值,则不要将表以哈希聚簇方式存储。
l 不管这个表是否经常与其他表连接,只要进行哈希对于基于以前的指南的表是合适的,那么在哈希聚簇中存储一个表可能是有用的。
分享到:
相关推荐
### Oracle中聚簇表的使用 #### 聚簇表的概念 在Oracle数据库中,聚簇表(Cluster Table)是一种特殊的数据存储结构,它允许多个表通过共享某些相同的列值来存储在同一个数据块内。这种特性使得相关联的数据能够在...
大家通常oracle中的cluster的理解是不准确的,经常和sql server中的cluster index混淆。Cluster是存储一组table的一种方法,这些table共享同一数据块中的某些相同column,并把不同table在这一共享column上值相同的...
在"ORACLE_DEVELOPER使用指南"中,你可能会学习到以下关键知识点: 1. **SQL Developer**:这是一个强大的SQL查询和开发工具,用于管理Oracle数据库。你可以通过SQL Developer编写、执行SQL语句,查看和分析数据,...
### Oracle Developer 使用指南1004 - 表单、报表和图形的基础知识 #### 引言 Oracle Developer 是一套强大的工具集,旨在简化数据库应用程序的开发流程,特别是针对Oracle数据库。它提供了直观的用户界面,使得...
ORACLE.DEVELOPER使用指南第1部分
在"Oracle Developer使用指南"中,附录包含的数据库源代码是理解和学习Oracle数据库应用开发的重要资源。这些源代码通常由SQL脚本组成,可以在SQL*Plus这样的命令行工具中执行,用于创建数据库对象,如表、视图、...
本指南将深入探讨Oracle Developer的各项功能和使用技巧,帮助你更好地理解和掌握这个强大的开发环境。 1. **Oracle Forms Builder** - **概述**:Forms Builder是Oracle Developer的核心组件,用于创建图形用户...
### Toad for Oracle 使用指南关键知识点 #### 一、Toad for Oracle 概览 - **版本信息**:Toad for Oracle 11.6 是一款面向 Oracle 数据库的专业开发和管理工具,由 Quest Software 在 2012 年发布。 - **版权与...
本指南将针对初学者,详细介绍Oracle数据库的基础知识、安装与配置,以及一些常用的操作和管理技巧。 **1. Oracle数据库简介** 1.1.1 数据库术语 在讨论Oracle数据库之前,我们需要了解一些基本的数据库术语,如...
内容可能包括:SQL语言的使用、表的创建与管理、索引和视图、存储过程和触发器的编写以及数据库的安全性和性能优化等方面。通过学习这些基础知识,初学者可以为日后更深入地学习Oracle数据库的高级特性打下坚实的...
Oracle RAC 12c 运维最佳实践指南 Oracle RAC 12c 是一种高可用、高性能的集群解决方案,旨在实现数据库的高可用性和可扩展性。本文将对 Oracle RAC 12c 运维最佳实践指南进行解读,总结出相关的知识点。 一、 ...
这份"Oracle Developer使用指南(16-19_over)"涵盖了从版本16到19的相关内容,旨在帮助用户深入理解和有效利用这个强大的开发环境。 在Oracle Developer中,主要包含了以下几个关键组件: 1. **Oracle Forms**: ...
《Oracle Database 11g:初学者指南》是一本针对Oracle 11g数据库系统入门者的详尽教程。Oracle 11g是Oracle公司推出的数据库管理系统版本,它提供了丰富的功能和增强的性能,广泛应用于企业级数据管理和分析。作为...
书中将讨论如何合理组织表和索引,包括选择合适的数据类型、压缩技术以及物理存储结构(如簇、索引组织表等),以降低存储需求并提高访问效率。 最后,本书还会涉及Oracle数据库的监控和维护,包括定期性能基准测试...
本指南将深入探讨Oracle8的使用方法,帮助用户了解其核心功能和操作技巧。 1. **安装与配置** - Oracle8的安装过程涉及选择正确的操作系统平台,如Windows或Unix,以及确定硬件需求。 - 配置过程中需设定数据库...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据主导地位。本文将基于"Oracle 9i 数据库管理员指南"及相关补充资料,深入探讨Oracle数据库管理的关键知识点。 首先,"Oracle 9i...
Oracle 使用指南是一个面向数据库管理初学者或需要对Oracle进行日常操作的人员的参考资料。这篇指南主要涵盖Oracle数据库的基本查询操作,包括SQL语句的构造、算术表达式、列的别名、连接操作以及处理重复数据的方法...
本指南旨在为使用Oracle Solaris Cluster的用户提供详细的指导和支持,重点介绍如何利用Oracle Solaris Cluster来管理和保护Oracle数据库环境。适用于Oracle的Oracle Solaris Cluster数据服务(以下简称“数据服务”...
Oracle的应用程序开发指南中会详细介绍Oracle数据库的特性和使用方法,为开发者搭建稳定、高效的企业级应用打下坚实基础。 开发指南中提到的Oracle® Applications Developer's Guide Release 12.1是一个较为具体的...