带您详细了解Oracle分区索引

数据库 Oracle
索引可以提高Oracle数据库的查询效率,下文对Oracle分区索引的两种方式作了详尽的阐述,如果您对此方面感兴趣的话,不妨一看。

Oracle分区索引可能对于很多刚接触Oracle数据库的新人来说,还比较陌生。下面就为您详细介绍Oracle分区索引方面的知识,希望可以让您对Oracle分区索引有更多的了解。

Oracle分区索引语法:

  1. Table Index  
  2. CREATE [UNIQUE|BITMAP] INDEX [schema.]index_name  
  3. ON [schema.]table_name [tbl_alias]  
  4. (col [ASC | DESC]) index_clause index_attribs  
  5.  
  6. index_clauses:  

Oracle分区索引分以下两种情况

1 Local Index

就是索引信息的存放位置依赖于父表的Partition信息,换句话说创建这样的索引必须保证父表是Partition

索引信息存放在父表的分区所在的表空间。但是仅可以创建在父表为HashTable或者composite分区表的。

LOCAL STORE IN (tablespace)

仅可以创建在父表为HashTable或者composite分区表的。并且指定的分区数目要与父表的分区数目要一致

  1. LOCAL STORE IN (tablespace)  (PARTITION [partition       [LOGGING|NOLOGGING]       [TABLESPACE {tablespace|DEFAULT}]       [PCTFREE int]       [PCTUSED int]       [INITRANS int]       [MAXTRANS int]       [STORAGE storage_clause]       [STORE IN {tablespace_name|DEFAULT]       [SUBPARTITION [subpartition [TABLESPACE tablespace]]]]) 

索引信息存放在父表的分区所在的表空间,这种语法最简单,也是最常用的分区索引创建方式。
Local

并且指定的Partition 数目要与父表的Partition要一致

  1. LOCAL (PARTITION [partition  
  2. [LOGGING|NOLOGGING]  
  3. [TABLESPACE {tablespace|DEFAULT}]  
  4. [PCTFREE int]  
  5. [PCTUSED int]  
  6. [INITRANS int]  
  7. [MAXTRANS int]  
  8. [STORAGE storage_clause]  
  9. [STORE IN {tablespace_name|DEFAULT]  
  10. [SUBPARTITION [subpartition [TABLESPACE tablespace]]]]) 

2 Global Index

索引信息的存放位置与父表的Partition信息完全不相干。甚至父表是不是分区表都无所谓的。语法如下:

  1. GLOBAL PARTITION BY RANGE (col_list)  
  2. ( PARTITION partition VALUES LESS THAN (value_list)  
  3. [LOGGING|NOLOGGING]  
  4. [TABLESPACE {tablespace|DEFAULT}]  
  5. [PCTFREE int]  
  6. [PCTUSED int]  
  7. [INITRANS int]  
  8. [MAXTRANS int]  
  9. [STORAGE storage_clause] ) 

但是在这种情况下,如果父表是分区表,要删除父表的一个分区都必须要更新Global Index ,否则索引信息不正确

  1. ALTER TABLE TableName DROP PARTITION PartitionName  Update Global Indexes 

 

 

 

【编辑推荐】

oracle重建索引的实现

全面解析Oracle文件系统

ORACLE系统表和数据字典视图

深度解析Oracle ERP系统模块

详解四大类Oracle索引扫描

 

责任编辑:段燃 来源: 互联网
相关推荐

2010-10-25 11:51:05

Oracle单行字符串

2010-10-25 09:39:43

Oracle FBI索

2010-10-21 15:26:35

SQL Server字

2010-11-12 14:29:46

Sql Server创

2010-10-12 13:14:11

mysql索引类型

2010-10-27 16:22:07

Oracle层次查询

2010-10-26 11:55:21

Oracle OS备份

2010-11-15 13:20:06

Oracle恢复结构

2010-10-25 15:04:39

Oracle文本函数

2010-10-29 15:37:51

Oracle物理结构

2010-11-15 10:40:58

Oracle启动参数

2010-10-28 13:20:50

ORACLE reso

2010-10-29 10:56:46

ORACLE用户验证

2010-10-27 14:57:24

Oracle查询

2010-10-25 15:20:23

Oracle数据转换函

2010-11-16 14:59:39

Oracle显式游标

2010-10-27 14:27:13

oracle查询语句日

2010-11-02 11:30:09

DB2索引结构

2010-11-22 11:09:00

MySQL索引类型

2010-10-25 17:13:08

oracle分组函数
点赞
收藏

51CTO技术栈公众号