使用下面的方针决定是否使用聚簇表:
- 经常被应用的连接语句访问的表可以使用聚簇表
- 如果应用只是偶尔地使用表连接,或者频繁修改连接列的值,则不要使用聚簇表。修改一行的聚簇键值比修改非聚簇表的值花费更长的时间,因为Oracle可能为了维护聚簇而把被修改的行从一个块迁移到另一个块。
- 如果应用经常对聚簇中的一个表进行全表扫描,则不要使用聚簇表。对聚簇表的全面扫描会比对非聚簇表的全表扫描花费更长的时间。因为表被存储在一起,Oracle可能要读取更多的块。
- 如果经常查询一个主表的记录和与之对应的子表记录,这种主子表可以放到一个聚簇中。子表和主表记录被存储在相同的数据块,因此当查询它们的时候将被一起读到内存中,Oracle会执行更少的I/O。
- 如果经常查询与同一主表记录相关联的许多子表记录,单独把子表存储在一个聚簇中。这种方法改善与同一主表记录相关联的子表记录的查询性能,同时不会降低对主表全表扫描的性能。还有一种可选则的方法是使用索引组织表。
- 如果聚簇中所有表的同一聚簇键值大于一个或两个Oracle块,则不要使用聚簇表。为了访问聚簇中的一行,Oracle要读取包含这行键值的所有块。如果这些行占用了多个块,则访问单一行将比访问非聚簇表里的相同行需要更多的读取次数。
- 当每一个聚簇键值所对应的行数有很大不同时不要使用聚簇表。这将造成低基数键值的空间浪费,还将造成与高基数键值的冲突,会降低性能。
要针对应用的要求来考虑使用聚簇的优缺点。例如,你需要确定连接语句的性能提升是否超过了修改聚簇值的性能下降,你可能还需要做实验比较聚簇和单独存储所花费的处理时间。
分享到:
相关推荐
### Oracle中聚簇表的使用 #### 聚簇表的概念 在Oracle数据库中,聚簇表(Cluster Table)是一种特殊的数据存储结构,它允许多个表通过共享某些相同的列值来存储在同一个数据块内。这种特性使得相关联的数据能够在...
大家通常oracle中的cluster的理解是不准确的,经常和sql server中的cluster index混淆。Cluster是存储一组table的一种方法,这些table共享同一数据块中的某些相同column,并把不同table在这一共享column上值相同的...
聚簇管理是Oracle数据库管理系统的重要组件,用于管理聚簇的创建、修改、删除等操作。通过dba_clusters视图,可以查询聚簇的基本信息,包括聚簇名称、聚簇类型、创建日期等信息。 快照管理 快照是Oracle数据库中的...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其功能强大,支持复杂的数据处理和管理。在日常数据库管理和维护工作中,我们经常需要导出数据库的表结构,以便于备份、迁移或共享。"Oracle数据库导出...
查询oracle表空间使用情况,表空间文件详情,创建或者变更表空间大小
在 Oracle 中,使用绑定变量可以提高多表连接的效率。绑定变量可以减少 SQL 语句的解析时间和内存的使用。 3. 使用高速缓冲区 Oracle 的高速缓冲区可以提高多表连接的效率。高速缓冲区可以将经常使用的 SQL 语句...
将Excel数据导入Oracle通常需要先将数据转换为CSV格式,然后使用SQL*Loader或外部表来加载数据。 3. **设置时间间隔型数据**: 在Oracle 9i中,时间间隔类型(INTERVAL)用于存储时间间隔,如年、月、日、小时等。...
通过查询特定的系统表,数据库管理员(DBA)或开发人员能够获取关于用户、表空间、数据库对象、表、索引、序列、视图、聚簇以及快照的详细信息,从而进行有效的数据库管理和优化工作。以下是对给定文件中的Oracle...
在Oracle数据库管理中,定期清理和优化表空间是至关重要的任务,这有助于保持数据库的高效运行和合理利用存储资源。本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识...
聚簇是 Oracle 数据库中的一个逻辑结构,用于存储多个表的数据。Oracle 提供了多种方式来管理聚簇,包括创建聚簇、删除聚簇、修改聚簇属性等。 在 Oracle 中,可以使用以下语句来查询聚簇信息: ```sql select * ...
在开发、文档编写或分享数据库设计时,有时我们需要将Oracle表结构导出到更便于阅读和分享的格式,比如Microsoft Word文档。这个过程可以帮助团队成员更好地理解数据库结构,也可以作为备份或审计的参考。 "oracle...
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
除了常规的簇,还有一种散列聚簇表,它使用散列函数而非索引来定位行。创建散列簇的例子: ```sql create cluster my_clu_two(empno number(10) ) pctused 70 pctfree 10 tablespace users hash is empno hashkeys ...
oracle erp r12表结构,oracle erp r12表结构,oracle erp r12表结构
Oracle 库存管理 表结构说明 Oracle 库存管理 表结构说明
8. 聚簇管理:Oracle 系统表大全中包含了聚簇管理相关的信息,例如聚簇列表、聚簇类型、聚簇所有者等。通过查询 dba_clusters 表,可以获取所有聚簇的信息。例如,select * from dba_clusters; 可以获取所有聚簇的...
### Oracle系统表大全知识点解析 #### 一、Oracle系统表概览 Oracle系统表是用于管理数据库元数据的重要工具,通常归Oracle用户`SYS`所有。这些系统表提供了关于数据库结构、配置和状态的关键信息,对于数据库管理...
select b.tablespace_name 表空间, c.owner 用户, c.segment_name 表名, b.file_name 物理文件名, sum(nvl(b.bytes, 0)) / 1024 / 1024 总共大小M, round((sum(nvl(b.bytes, 0)) - sum(nvl(a.bytes, 0))) ...
分析表空间使用情况,oracle查询表空间使用情况,方便确认数据是否还能插入,检查数据文件是否已满。