`

oracle本地索引和全局索引区别

阅读更多
表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。

局部索引local index

1.        局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,一句话,局部索引的分区机制和表的分区机制一样。
2.        如果局部索引的索引列以分区键开头,则称为前缀局部索引。
3.        如果局部索引的列不是以分区键开头,或者不包含分区键列,则称为非前缀索引。
4.        前缀和非前缀索引都可以支持索引分区消除,前提是查询的条件中包含索引分区键。
5.        局部索引只支持分区内的唯一性,无法支持表上的唯一性,因此如果要用局部索引去给表做唯一性约束,则约束中必须要包括分区键列。
6.        局部分区索引是对单个分区的,每个分区索引只指向一个表分区,全局索引则不然,一个分区索引能指向n个表分区,同时,一个表分区,也可能指向n个索引分区,
          对分区表中的某个分区做truncate或者move,shrink等,可能会影响到n个全局索引分区,正因为这点,局部分区索引具有更高的可用性。
7.        位图索引只能为局部分区索引。
8.        局部索引多应用于数据仓库环境中。

全局索引global index

1.        全局索引的分区键和分区数和表的分区键和分区数可能都不相同,表和全局索引的分区机制不一样。
2.        全局索引可以分区,也可以是不分区索引,全局索引必须是前缀索引,即全局索引的索引列必须是以索引分区键作为其前几列。
3.        全局分区索引的索引条目可能指向若干个分区,因此,对于全局分区索引,即使只动,截断一个分区中的数据,都需要rebulid若干个分区甚
          至是整个索引。
4.        全局索引多应用于oltp系统中。
5.        全局分区索引只按范围或者散列hash分区,hash分区是10g以后才支持。
6.        oracle9i以后对分区表做move或者truncate的时可以用update global indexes语句来同步更新全局分区索引,用消耗一定资源来换取高度的可用性。
7.        表用a列作分区,索引用b做局部分区索引,若where条件中用b来查询,那么oracle会扫描所有的表和索引的分区,成本会比分区更高,此时可以考虑用b做全局分区索引


分区索引字典

DBA_PART_INDEXES 分区索引的概要统计信息,可以得知每个表上有哪些分区索引,分区索引的类新(local/global,)
Dba_ind_partitions每个分区索引的分区级统计信息
Dba_indexesminusdba_part_indexes,可以得到每个表上有哪些非分区索引

索引重建

Alter index idx_name rebuild partition index_partition_name [online nologging]
需要对每个分区索引做rebuild,重建的时候可以选择online(不会锁定表),或者nologging建立索引的时候不生成日志,加快速度。
Alter index rebuild idx_name [online nologging]
对非分区索引,只能整个index重建
分享到:
评论

相关推荐

    分区索引,本地索引,全局索引的区别

    ### 分区索引—本地索引与全局索引的区别 #### 一、Oracle分区索引概念及分类 在Oracle数据库中,分区索引是针对分区表的一种特殊索引类型,它可以显著提高对于大规模数据集的查询性能。根据索引是否与表的分区...

    oracle分区表分区索引.docx

    分区索引可以分为两类:全局索引(Global Index)和本地索引(Local Index)。 1. 全局索引(Global Index) 全局索引是指可以跨越多个分区的索引。全局索引可以建在分区表上,也可以建在非分区表上。全局索引必须...

    Oracle索引机制分析

    6. **分区索引**:分为本地分区索引(每个分区有自己的索引)和全局分区索引(全局维护一个索引),适用于大型表,可以提高查询和维护性能。 **ROWID**是Oracle中用来唯一标识表中每一行的一个地址,通过ROWID可以...

    oracle索引机制分析

    - **定义**:在分区表中,可以根据索引的分区策略将其分为本地分区索引和全局分区索引。 - **用途**:本地分区索引可以提高查询效率,尤其是在涉及特定分区的查询中。 #### 总结 Oracle提供了丰富的索引选项,每种...

    Oracle索引详解

    非分区表或分区表上的本地索引的ROWID为6字节,全局索引在分区表上时为10字节。 理解这些基础后,我们可以估算索引的大小。例如,如果我们有一个包含130万行、列名为goodid的表,列类型为char(8),在该列上创建B树...

    Oracle在线建立超大表的索引

    本文将详细介绍如何为一个核心大表(INFO_CUSTOMER)创建一个全局B树索引,并在此过程中尽可能减小对业务的影响。 #### 表信息及使用场景 - **数据库名称**:***DB1** - **表名**:INFO_CUSTOMER - **表规模**:...

    oracle索引.pdf

    ROWID是数据行在表中的物理地址,长度根据索引类型(分区表上的本地索引或全局索引)有所不同。 在估算索引大小时,需要考虑数据块的可用空间、PCTFREE参数(保留空间比例)以及索引列的长度。例如,一个8KB的数据...

    oracle分区索引的失效和重建代码示例

    `命令可以重建失效的全局索引,使其恢复正常状态。 6. **删除表分区时的索引重建**: 使用`ALTER TABLE t_part DROP PARTITION p2 UPDATE INDEXES;`命令在删除分区的同时更新(重建)相关索引,确保索引始终保持...

    Oracle兼容性和全局临时表的实现.pptx

    在Oracle中,全局临时表的DDL操作如创建、删除、索引构建、表修改和截断等都需要考虑多会话环境下的影响。例如,删除全局临时表需要清理所有会话的局部缓冲和存储文件,创建索引时需要考虑已有数据的存在,而表的...

    Oracle 分区索引介绍和实例演示

    Oracle 分区索引是数据库管理中的一个重要概念,尤其在处理大量数据时,它能显著提升查询性能和系统稳定性。分区索引与分区表配合使用,将一个大索引拆分为多个较小的部分,使得数据访问更加高效。以下是关于分区...

    全面学习分区表及分区索引-Oracle.pdf

    ### 全局索引与本地索引 - **全局索引**:独立于表的分区结构,适用于需要覆盖整个表的索引查询。维护全局索引通常需要额外的操作。 - **本地索引**:索引的分区与表的分区保持一致,适用于大多数情况下的查询。维护...

    oracle和sql server区别

    Oracle 的索引包括:B+树索引、Bitmap 位图索引、函数索引、反序索引、主键索引、散列索引、本地索引。 数据类型 -------- Oracle 的数据类型比较复杂,有基本数据类型、衍生型、列对象型、表对象型、结构体型;...

    Oracle数据库管理员技术指南

    4.4 镜像和复用的区别 4.5 为高可用性选择磁盘类型 4.6 常规的 RAID 技巧 4.7 给控制文件增长的空间 4.8 如何配置日志组 4.9 保护 SYSTEM 表空间的三种简单 方法 4.10 为什么必须保护 ORACLE_HOME 4.11 保护...

    MySQL VS ORACLE.pdf

    Oracle提供了对物化视图、分区表、全局索引、本地索引的支持,这些特性可以帮助处理大量数据。MySQL虽然支持分区和索引,但是范围和功能比Oracle有限。 在并发查询方面,MySQL的JOIN算法较简单,主要依靠嵌套循环...

    全面学习分区表及分区索引

    分区索引可以是全局索引或本地索引,全局索引可以独立于分区表,而本地索引的分区形式与表的分区相同。 分区方式 Oracle数据库中提供了多种分区方式,包括Range分区、Hash分区、List分区和组合分区等。 * Range...

    TianleSoftware Oracle中文学习手册

    - 分区表的索引: 可以有本地索引和全局索引,分区表的索引需要特别处理。 - Oracle 11g中的分区表新特性: 包括Interval Partitioning、System Partitioning以及Virtual Column-Based Partitioning等。 4. Oracle...

    oracle分区表详细讲解

    ### 六、本地索引与全局索引 - **本地索引**:在每个分区上独立建立索引,适用于范围、列表和哈希分区。 - **全局索引**:在整个表上建立索引,对于所有分区均有效,但维护成本较高。 #### 创建本地索引 ```sql ...

Global site tag (gtag.js) - Google Analytics