分区索引与全局索引的使用介绍
本地索引:
drop index Dept_List_Index;
CREATE INDEX Dept_List_Index ON DEPT_List (DeptNo) LOCAL;
select table_name,partition_name,high_value from user_tab_partitions where table_name='DEPT_LIST';
select index_name,partition_name,high_value from user_ind_partitions where index_name='DEPT_LIST_INDEX';
全局索引:
drop index Dept_RNG_Index;
CREATE INDEX Dept_RNG_Index ON DEPT_RNG (DEPTNO,DEPTNAME) Global
PARTITION BY range(DEPTNO)
(PARTITION D1 VALUES LESS THAN (15) TABLESPACE TS1,
PARTITION D2 VALUES LESS THAN (MAXVALUE) TABLESPACE TS2);
drop index Dept_RNG_Index2;
CREATE INDEX Dept_RNG_Index2 ON DEPT_RNG (DEPTNO) Global;
select table_name,partition_name,high_value from user_tab_partitions where table_name='DEPT_RNG';
select index_name,partition_name,high_value from user_ind_partitions where index_name in ('DEPT_RNG_INDEX');
select index_name,partition_name,high_value from user_ind_partitions where index_name in ('DEPT_RNG_INDEX2');
分区索引重建:
ALTER INDEX artist_ix REBUILD PARTITION artist_par3 TABLESPACE index3;
--修整不常用的分区索引
--(1)
ALTER TABLE sales MODIFY PARTITION mar07 UNUSABLE LOCAL INDEXES;
--(2)
ALTER SESSION SET SKIP_UNUSABLE_INDEXES = TRUE;
--(3)
INSERT INTO sales PARTITION (mar07)SELECT * FROM sales_mar07;
--(4)
ALTER TALBE sales MODIFY PARTITION mar07 REBUILD UNUSABLE LOCAL INDEXES;
PS.增加一点个人建议。我之前在做BI项目的时候,索引尽量不要乱建,也尽量不要建那么多的字段。对于数据仓库这一类,可以用BITMAP,普通的OLTP系统,用B+tree索引。
冗余数据,尽量不要建索引,意义不大,这一类字段过滤速度快,增加过滤条件就可以提高速度。如:YEAR,AGE,COUNTRY
索引尽量要建在连接条件,ID类字段上面,这一类字段不同的数据量大,而且查找的概率高。如:USER_ID,SERVICE_ID..
分享到:
相关推荐
#### 三、Oracle 分区方法 ##### 1. 范围分区(Range Partitioning) 范围分区基于某一列的值范围来划分数据。例如,可以根据订单日期或用户 ID 进行分区。 - **语法示例**: ```sql CREATE TABLE sales ( ...
Oracle分区技术是一种数据库管理系统(DBMS)特性,用于将大型表和索引分割成更小、更易管理和处理的部分,从而提升查询性能和数据管理效率。这种技术特别适用于数据仓库和决策支持系统(DSS),因为这些系统通常...
Oracle分区表中的Hash分区是一种基于哈希算法的分区策略,适用于处理无法清晰定义分区范围的大型数据表。这种分区方式通过计算分区键的哈希值来决定数据存储在哪个分区,以此达到数据分散和负载均衡的目的。Hash分区...
根据提供的文件信息,本文将详细解释Oracle分区技术及其在解决UNDOTBS01.DBF文件过大问题中的应用方法,并进一步探讨Oracle分区的不同类型及其应用场景。 ### Oracle 分区概述 Oracle分区是一种将大表或索引分割成...
oracle分区资料· oracle分区资料· oracle分区资料·
【Oracle分区表用法】 Oracle分区表是一种高级的数据库管理技术,它将大型表的数据分散存储在不同的物理区域,以提升查询效率和系统的整体性能。本文将详细介绍分区表的概念、作用、优缺点,以及各种类型的分区表...
Oracle分区表是数据库管理系统Oracle中的一个高级特性,用于将大表分成较小、更易管理的部分,从而提高查询性能,优化存储管理和数据维护。在大型企业级应用中,尤其是在处理大量数据时,分区表是不可或缺的技术手段...
#### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并简化表和索引的管理。 #### 二、何时...
**三、Oracle 分区方法** 1. **范围分区**:根据数据值的范围进行分区,如日期或序列号。 2. **Hash 分区**:通过散列函数分配数据,使得各分区大小相对均匀,适合于I/O负载均衡。 3. **List 分区**:允许按照预...
Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...
标签“oracle分区表 自动维护”概括了脚本的核心功能和使用场景,说明脚本主要用于Oracle数据库的分区表自动维护。 从提供的部分内容中,我们可以看到脚本的具体实现细节: 1. 创建基础表`PART_T_MAINTENANCE`,...
三、创建分区表和分区索引 创建分区表可以使用以下语句: ```sql CREATE TABLE GW_10692939_MOLOG_bak ( log_id NUMBER(20) not null, msg_id VARCHAR2(30) not null, gw_id NUMBER(8) not null, dest_id ...
### Oracle表分区详解 #### 一、概述 Oracle数据库中的表分区是一种高级组织技术,它通过将表的大数据集划分为较小的、更易于管理的部分(即分区),从而提高查询性能和可管理性。表分区可以按照不同的策略进行...
#### 一、Oracle分区表概述 在Oracle数据库中,分区是一种对大型表进行物理分割的方法,它可以显著提高查询性能并简化数据管理任务。通过将一个大表分成多个较小的部分(即分区),可以更快地执行查询操作,尤其是...
Oracle 表分区是一种高效的数据管理策略,用于处理大数据量的表,以提升查询性能和数据库的可维护性。本文将详细介绍Oracle表分区的概念、作用、优缺点,以及各种类型的分区和操作方法。 首先,理解表空间和分区表...
"Oracle分区表和分区索引在VLDB中的研究" 本文研究了Oracle分区表和分区索引在VLDB(Very Large Databases)中的应用。分区表和分区索引是数据库管理中的关键技术之一,是VLDB中一个重要的性能提升机制。通过分析一...
Oracle分区表是Oracle数据库中一种优化大数据处理的高级特性,它通过将一个大表分成多个逻辑部分,即分区,来提高查询性能、简化管理和增强可用性。分区技术在处理海量数据时尤其有用,因为它们允许数据库仅扫描与...
Oracle分区技术是数据库管理系统中用于优化大规模数据存储和查询性能的一种高级特性。它允许将大表和索引分成较小、更易管理和操作的部分,每个部分称为一个分区。分区的主要目标是提高查询性能、简化管理任务并增强...