索引分区分为:本地(局部)索引(local index)和全局索引(global index)
一.本地索引
1.普通索引
CREATE INDEX INDEX_NAME ON TABLE (COLUMN) local ( partition part_idx_01 tablespace index_space01, partition part_idx_02 tablespace index_space02, partition part_idx_03 tablespace index_space03 )
2.唯一索引 如:主键
CREATE UNIQUE INDEX INDEX_NAME ON TABLE (COLUMN) local ( partition part_idx_01 tablespace index_space01, partition part_idx_02 tablespace index_space02, partition part_idx_03 tablespace index_space03 )
注:主键索引和主键约束的创建与删除顺序
创建主键索引 --> 创建主键约束
删除主键约束 --> 删除主键索引
3.非表分区字段唯一索引 表分区字段:USRID
CREATE UNIQUE INDEX INDEX_NAME ON TABLE (COLUMN,USRID) local ( partition part_idx_01 tablespace index_space01, partition part_idx_02 tablespace index_space02, partition part_idx_03 tablespace index_space03 )
二.全局索引
1.范围索引
CREATE [UNIQUE] INDEX INDEX_NAME ON TABLE(COLUMN) global partition by range(column) ( partition part_idx_01 value less than(first range value) tablespace index_space01, partition part_idx_02 value less than(second range value) tablespace index_space02, partition part_idx_03 value less than(maxvalue) tablespace index_space03 )
2.散列索引
CREATE [UNIQUE] INDEX INDEX_NAME ON TABLE(COLUMN,[COLUMN2]) global partition by hash(column,[column2]) ( partition part_idx_01 tablespace index_space01, partition part_idx_02 tablespace index_space02, partition part_idx_03 tablespace index_space03 )
注:
a.分区字段不是主键的情况下,只可以创建全局分区索引,不可以创建本地主键分区索引。只有分区字段为主键时才可以创建本地主键分区索引。
b.如果创建本地唯一分区索引,除指定索引字段外还要加上表分区字段。这种索引意义不大:因为这样构成复合索引,索引改变,约束也改变了。
c.如果创建非唯一索引则不需要表分区字段。
d.创建全局分区索引后可以创建约束。
三.查看索引分区信息
1.DBA查看索引分区
select * from dba_ind_partitions
2.USER查看索引分区
select * from user_ind_partitions
3.DBA查看索引分区类型
select * from dba_part_indexes
4.USER查看索引分区类型
select * from user_part_indexes
相关推荐
在本文中,我们将详细介绍 Oracle 索引与分区索引的概念、特点、分类、创建方法、维护操作等方面的知识点。 什么是 Oracle 索引? Oracle 索引是一种数据结构,它可以快速地定位特定的数据行,以提高查询性能。...
- **重编译索引分区**:当索引分区损坏或需要更新统计信息时,需要重新构建索引分区。 - **重命名索引分区**:更改索引分区的名称。 - **拆分索引分区**:将索引分区拆分为两个或更多分区。 - **修改索引分区默认...
本文将围绕Oracle创建索引的基本规则进行深入探讨,旨在帮助读者更好地理解如何根据不同的场景选择合适的索引类型,并掌握创建索引时的一些关键考虑因素。 #### 一、B-Tree索引 B-Tree(平衡树)索引是Oracle中最...
虽然存储介质和数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。
对于本地索引,Oracle 会自动维护其索引分区。 五、查询分区索引信息 可以使用以下语句来查询分区索引信息: ```sql SELECT * FROM ALL_PART_TABLES WHERE OWNER='MMS' AND TABLE_NAME='CMS_OPERATE_LOG'; SELECT...
Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能、可用性和可维护性。 ##### 分区的作用: 1. **...
- **分区消除**:前缀和非前缀索引都支持索引分区消除,但前提是查询条件中需包含索引分区键。 - **唯一性约束**:本地索引只支持分区内的唯一性,如果要在表上设置唯一性约束,必须包含分区键列。 - **可用性**:...
Oracle 分区与索引是数据库管理系统中用于优化大数据查询的关键技术。Oracle 分区是一种将大表和索引分成可管理的小部分,以提高查询效率、维护性和可用性。这种技术适用于处理海量数据,通过将数据分散到不同的存储...
Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...
2. **创建索引**:索引用于提高数据查询的效率。Oracle支持B树索引、位图索引等多种类型。例如,为EmployeeID创建索引: ```sql CREATE INDEX idx_employee_id ON Employees(EmployeeID); ``` 这条语句创建了一...
- **全局索引分区**:与分区表关联的索引,支持跨分区的查询。 - **局部索引分区**:仅索引特定分区的数据。 ##### 2. 索引的优缺点 - **优点**: - 加快查询速度。 - 提高数据完整性。 - **缺点**: - 占用...
### Oracle中亿级记录表创建索引的知识点详解 #### 一、背景介绍 在Oracle数据库中处理亿级数据量的表时,合理的索引设计是优化查询性能的关键因素之一。索引能够加快数据检索的速度,减少I/O操作次数,但同时也...
本文将以具体的实例——报单表`USER_ORDER`为例,详细介绍如何实现Oracle表的自动按月分区,并创建相应的本地索引。 #### 二、准备工作 在开始分区之前,需要先做一些必要的准备工作,确保数据的安全性以及后续操作...
- 索引分区:针对表的索引进行分区,提升查询效率。 - 材料化视图分区:用于加速复杂查询的预计算结果。 - 材料化视图索引分区:加速材料化视图的访问。 3. **分区透明性**: - SQL和DML操作对分区是透明的,...
Oracle分区是一种将大表或索引分割成较小部分的技术,旨在提高查询性能、减少管理开销并简化数据维护操作。通过合理地将数据分成多个物理块,可以显著提升查询效率,特别是在处理大量历史数据或执行复杂的分析任务时...