`
hejianhuacn
  • 浏览: 70048 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

【转】Oracle 索引详解

阅读更多

语法:

Table Index
CREATE [UNIQUE|BITMAP] INDEX [schema.]index_name
ON [schema.]table_name[tbl_alias]
(col[ASC | DESC])index_clauseindex_attribs

index_clauses:
分以下两种情况

1. Local Index

就是索引信息的存放位置依赖于父表的Partition信息,换句话说创建这样的索引必须保证父表是Partition
1.1 索引信息存放在父表的分区所在的表空间。但是仅可以创建在父表为HashTable或者composite分区表的。
LOCAL STORE IN (tablespace)
1.2 仅可以创建在父表为HashTable或者composite分区表的。并且指定的分区数目要与父表的分区数目要一致
LOCAL STORE IN(tablespace)
  (PARTITION[partition
       [LOGGING|NOLOGGING]
       [TABLESPACE{tablespace|DEFAULT}]
       [PCTFREEint]
       [PCTUSEDint]
       [INITRANSint]
       [MAXTRANSint]
       [STORAGEstorage_clause]
       [STORE IN{tablespace_name|DEFAULT]
       [SUBPARTITION[subpartition [TABLESPACEtablespace]]]])
 
1.3 索引信息存放在父表的分区所在的表空间,这种语法最简单,也是最常用的分区索引创建方式。
Local

1.4 并且指定的Partition 数目要与父表的Partition要一致
LOCAL (PARTITION[partition
[LOGGING|NOLOGGING]
[TABLESPACE{tablespace|DEFAULT}]
[PCTFREEint]
[PCTUSEDint]
[INITRANSint]
[MAXTRANSint]
[STORAGEstorage_clause]
[STORE IN{tablespace_name|DEFAULT]
[SUBPARTITION[subpartition[TABLESPACEtablespace]]]])

Global Index

索引信息的存放位置与父表的Partition信息完全不相干。甚至父表是不是分区表都无所谓的。语法如下:
GLOBAL PARTITION BY RANGE (col_list)
( PARTITIONpartitionVALUES LESS THAN (value_list)
[LOGGING|NOLOGGING]
[TABLESPACE {tablespace|DEFAULT}]
[PCTFREEint]
[PCTUSEDint]
[INITRANSint]
[MAXTRANSint]
[STORAGEstorage_clause] )
但是在这种情况下,如果父表是分区表,要删除父表的一个分区都必须要更新Global Index ,否则索引信息不正确
ALTER TABLETableNameDROP PARTITIONPartitionNameUpdate Global Indexes

分享到:
评论

相关推荐

    ORACLE索引详解及SQL优化

    总的来说,Oracle索引详解及SQL优化是一个深度广度兼具的主题,需要结合实际数据库结构和业务需求,灵活应用各种索引类型和优化策略,以实现数据库性能的最大化。通过深入学习和实践,你可以更好地驾驭Oracle数据库...

    Oracle索引详解[PPT]

    本篇内容将深入解析Oracle索引的基本概念、原理以及类型。 首先,索引是可选的表对象,其主要目的是提升查询速度。尽管索引可以显著提高数据检索的效率,但同时也占用额外的存储空间,并可能影响数据插入、更新和...

    Oracle 索引 详解

    Oracle 索引详解 Oracle 索引是数据库性能优化的重要工具,它可以大大加快数据的检索速度,提高系统的性能。但是,索引也存在一些缺陷,例如创建索引和维护索引要耗费时间,索引需要占物理空间,等等。在本文中,...

    Oracle索引详解

    Oracle索引是数据库管理系统中用于加速数据检索的关键数据结构,尤其在处理大量数据查询时,其效率至关重要。本文将深入探讨Oracle中的B树索引,包括它的概念、创建、删除和修改,以及如何理解其工作原理。 首先,...

    培训教程之Oracle索引详解PPT教案学习.pptx

    Oracle索引是数据库管理系统Oracle中用于加速数据检索的重要工具。索引的概念类似于书籍的目录,它的主要作用是提高查询速度,特别是在处理大量数据的表时。Oracle索引分为逻辑上和物理上独立的对象,创建或删除索引...

    oracle索引详解

    oracle数据库中如何建立索引,建立索引有什么优势,索引该如何使用

    Oracle 笔记 详解 资料 用例

    这份"Oracle笔记详解资料用例"涵盖了Oracle数据库的核心概念、安装配置、SQL语言、表和索引、存储结构、备份恢复、性能优化等多个方面,是学习和掌握Oracle数据库的宝贵资源。 首先,Oracle数据库的基础部分包括...

    Oracle索引优化相关

    ### Oracle索引优化相关知识点详解 #### 一、基本索引概念 在Oracle数据库中,索引是提高数据检索速度的重要工具。通过查询`DBA_INDEXES`视图,可以获取到当前数据库中所有表的所有索引信息。需要注意的是,如果...

    oracle索引类型及扫描方式大整理new

    ### Oracle索引类型详解 #### 一、B\*Tree索引:数据检索的基石 在Oracle数据库中,B\*Tree索引是最常见的索引结构,也是默认创建的索引类型。它基于二叉树原理,由分支块(branch block)和叶块(leaf block)构成,...

    oracle索引使用样例

    ### Oracle索引使用样例详解 #### 一、索引并行创建 在Oracle数据库中,并行创建索引可以显著提高创建索引的速度,尤其是在处理大量数据时。下面的SQL语句展示了如何并行创建一个索引: ```sql CREATE INDEX IDX_GD...

    oracle索引

    详解oracle索引的作用及创建索引,索引的技巧及索引在开发中能解决的问题

    oracle 创建和删除索引

    ### Oracle 创建和删除索引详解 #### 一、Oracle索引概述 在Oracle数据库中,索引是一种重要的数据结构,用于提高数据检索速度。通过创建索引,可以显著提升查询性能,尤其是在处理大型数据表时更为明显。索引类似...

    oracle的索引初步学习.doc

    #### 三、B树索引详解 本文主要关注B树索引,这是一种非常典型的树形结构索引。 ##### 1. B树索引结构 B树索引主要包括三种类型的节点: - **叶子节点(Leaf Node)**:包含指向表中实际数据行的条目。 - **分支...

    深入oracle分区索引的详解

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

    Oracle 分区表 分区索引 索引分区详解

    虽然存储介质和数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。

    oracle 索引创建

    ### Oracle索引创建详解 #### 一、Oracle索引的重要性及基本概念 在数据库系统中,索引是一种用于提高数据检索速度的数据结构。对于大型数据库系统而言,索引的合理设计与使用对于提升查询性能至关重要。Oracle...

Global site tag (gtag.js) - Google Analytics