`
king_tt
  • 浏览: 2234248 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle聚簇表使用方针

 
阅读更多

使用下面的方针决定是否使用聚簇表:

  • 经常被应用的连接语句访问的表可以使用聚簇表
  • 如果应用只是偶尔地使用表连接,或者频繁修改连接列的值,则不要使用聚簇表。修改一行的聚簇键值比修改非聚簇表的值花费更长的时间,因为Oracle可能为了维护聚簇而把被修改的行从一个块迁移到另一个块。
  • 如果应用经常对聚簇中的一个表进行全表扫描,则不要使用聚簇表。对聚簇表的全面扫描会比对非聚簇表的全表扫描花费更长的时间。因为表被存储在一起,Oracle可能要读取更多的块。
  • 如果经常查询一个主表的记录和与之对应的子表记录,这种主子表可以放到一个聚簇中。子表和主表记录被存储在相同的数据块,因此当查询它们的时候将被一起读到内存中,Oracle会执行更少的I/O。
  • 如果经常查询与同一主表记录相关联的许多子表记录,单独把子表存储在一个聚簇中。这种方法改善与同一主表记录相关联的子表记录的查询性能,同时不会降低对主表全表扫描的性能。还有一种可选则的方法是使用索引组织表。
  • 如果聚簇中所有表的同一聚簇键值大于一个或两个Oracle块,则不要使用聚簇表。为了访问聚簇中的一行,Oracle要读取包含这行键值的所有块。如果这些行占用了多个块,则访问单一行将比访问非聚簇表里的相同行需要更多的读取次数。
  • 当每一个聚簇键值所对应的行数有很大不同时不要使用聚簇表。这将造成低基数键值的空间浪费,还将造成与高基数键值的冲突,会降低性能。

要针对应用的要求来考虑使用聚簇的优缺点。例如,你需要确定连接语句的性能提升是否超过了修改聚簇值的性能下降,你可能还需要做实验比较聚簇和单独存储所花费的处理时间。

分享到:
评论

相关推荐

    Oracle中聚簇表的使用

    ### Oracle中聚簇表的使用 #### 聚簇表的概念 在Oracle数据库中,聚簇表(Cluster Table)是一种特殊的数据存储结构,它允许多个表通过共享某些相同的列值来存储在同一个数据块内。这种特性使得相关联的数据能够在...

    Oracle中聚簇表Cluster Table使用图文详解

    大家通常oracle中的cluster的理解是不准确的,经常和sql server中的cluster index混淆。Cluster是存储一组table的一种方法,这些table共享同一数据块中的某些相同column,并把不同table在这一共享column上值相同的...

    Oracle系统表汇总.docx

    聚簇管理是Oracle数据库管理系统的重要组件,用于管理聚簇的创建、修改、删除等操作。通过dba_clusters视图,可以查询聚簇的基本信息,包括聚簇名称、聚簇类型、创建日期等信息。 快照管理 快照是Oracle数据库中的...

    Oracle数据库导出表结构的工具

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其功能强大,支持复杂的数据处理和管理。在日常数据库管理和维护工作中,我们经常需要导出数据库的表结构,以便于备份、迁移或共享。"Oracle数据库导出...

    oracle 查询表空间使用情况

    查询oracle表空间使用情况,表空间文件详情,创建或者变更表空间大小

    Oracle 多表查询优化

    在 Oracle 中,使用绑定变量可以提高多表连接的效率。绑定变量可以减少 SQL 语句的解析时间和内存的使用。 3. 使用高速缓冲区 Oracle 的高速缓冲区可以提高多表连接的效率。高速缓冲区可以将经常使用的 SQL 语句...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    将Excel数据导入Oracle通常需要先将数据转换为CSV格式,然后使用SQL*Loader或外部表来加载数据。 3. **设置时间间隔型数据**: 在Oracle 9i中,时间间隔类型(INTERVAL)用于存储时间间隔,如年、月、日、小时等。...

    oracle系统表查询

    通过查询特定的系统表,数据库管理员(DBA)或开发人员能够获取关于用户、表空间、数据库对象、表、索引、序列、视图、聚簇以及快照的详细信息,从而进行有效的数据库管理和优化工作。以下是对给定文件中的Oracle...

    oracle定时删除表空间的数据并释放表空间

    在Oracle数据库管理中,定期清理和优化表空间是至关重要的任务,这有助于保持数据库的高效运行和合理利用存储资源。本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识...

    Oracle-系统表大全.docx

    聚簇是 Oracle 数据库中的一个逻辑结构,用于存储多个表的数据。Oracle 提供了多种方式来管理聚簇,包括创建聚簇、删除聚簇、修改聚簇属性等。 在 Oracle 中,可以使用以下语句来查询聚簇信息: ```sql select * ...

    oracle数据库导出表结构到WORD文档

    在开发、文档编写或分享数据库设计时,有时我们需要将Oracle表结构导出到更便于阅读和分享的格式,比如Microsoft Word文档。这个过程可以帮助团队成员更好地理解数据库结构,也可以作为备份或审计的参考。 "oracle...

    Oracle函数返回表

    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 erp r12表结构

    Oracle 库存管理 表结构说明

    Oracle 库存管理 表结构说明 Oracle 库存管理 表结构说明

    Oracle_系统表大全.docx

    8. 聚簇管理:Oracle 系统表大全中包含了聚簇管理相关的信息,例如聚簇列表、聚簇类型、聚簇所有者等。通过查询 dba_clusters 表,可以获取所有聚簇的信息。例如,select * from dba_clusters; 可以获取所有聚簇的...

    oracle 系统表大全

    ### Oracle系统表大全知识点解析 #### 一、Oracle系统表概览 Oracle系统表是用于管理数据库元数据的重要工具,通常归Oracle用户`SYS`所有。这些系统表提供了关于数据库结构、配置和状态的关键信息,对于数据库管理...

    oracle中查看表空间与对应物理文件,用户,表,使用情况

    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查询表空间使用情况.txt

    分析表空间使用情况,oracle查询表空间使用情况,方便确认数据是否还能插入,检查数据文件是否已满。

Global site tag (gtag.js) - Google Analytics