关于 Oracle 分区索引的创建和维护

像分区表一样,索引也可以进行分区,包括

1、全局分区索引

是一个独立的分区。

2、本地分区索引

自动和分区表相关联。

适用范围:

通常来说,全局分区索引适用于 OLTP 在线交易系统;而局部分区索引适用于数据仓库或决策系统。

选择分区索引的类型:

按照下面的顺序
1、如果分区表的分区字段是索引键值的子集,则使用本地索引;如果不是这样,则进入步骤2。

2、如果索引是唯一的并且不包含分区表的分区字段,则使用全局索引;如果不是这样,则进入步骤3。

3、如果你想管理方便,则使用本地索引;如果不是这样,则进入步骤4。

4、如果应用程序是在线交易系统(OLTP)且需要很快的响应时间,则使用全局索引。如果应用程序是决策系统(DDS)且更关注数据的吞吐量,则使用本地索引。

本地分区索引



本地分区索引易于维护,每一个本地索引的分区都和一个表的分区相关联。这个功能使得 Oracle 自动地维护索引分区到表分区的同步。如果一个分区中的数据失效了,则只会影响一个分区。

一种叫做非前缀的本地索引在历史数据库中非常有用,在这种类型的索引中,分区不是在索引列的左边前缀。你不能为本地索引添加分区,只有当你给某个表添加分区时,你才可以添加本地索引。
 
本地索引可以是唯一的。然而,为了让一个本地索引是唯一的,表的分区键必须是索引键列的一部分。

全局分区索引



Oracle 包括全局范围分区索引和全局哈希分区索引。

全局范围分区索引

全局范围分区索引是分区程度和分区键独立于分区表的一种灵活分区方法。要添加一个新的最高分区,可以使用 ALTER INDEX SPLITPARTITION 语句。如果一个全局索引分区是空的,你可以通过 ALTER INDEX DROP PARTITION 语句来删除它。如果一个全局分区索引包含数据,删除此分区将会导致下一个最高键值的分区被标记为不可用。你不能删除全局分区中的最高分区。

全局哈希分区索引

全局哈希分区索引通过分散索引的竞争来提高性能。大多数的索引插入只会出现在索引的右侧边缘。

全局分区索引的维护

默认的,下面在堆表分区表上的操作会导致全局索引的状态为不可用。

ADD (HASH) 
COALESCE (HASH) 
DROP 
EXCHANGE 
MERGE 
MOVE 
SPLIT 
TRUNCATE 

可以在对分区表操作的语句上增加 UPDATE INDEXES 来维护全局分区索引。

这样做的优点是:

在对分区表进行操作的时候,索引仍是可用和在线的,这个操作不会影响到应用程序。

在对分区表进行操作后,全局分区索引不必进行重建。

全局非分区索引



全局非分区索引就像一个非分区索引一样。

创建分区索引的注意事项

你可以在分区表上创建位图索引。位图索引只能是本地分区索引,不能创建全局索引。

全局索引可以是唯一的。如果本地索引想创建成唯一的,则分区表的分区键必须是索引字段的一部分。

关于组合分区索引

子分区索引通常是本地分区索引。

表空间可以在索引分区或索引子分区两个级别上进行指定。

分区索引的创建指南

对于在线交易系统,全局分区索引和本地前缀分区索引能比本地非前缀索引提供更好的性能,因为他们能使分区剪裁最小化;当要对分区表进行维护时,本地索引更易于维护和管理,对于历史数据,本地非前缀索引非常有用。

对于决策支持系统,本地非前缀分区索引能提供更好的性能,因为许多分区索引支持并行扫描。

对于历史表来说,索引应该尽可能是本地分区索引,这将减少定期删除分区的影响。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-1992172/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26506993/viewspace-1992172/

普通开普勒式望远镜光学设计1-初始结构设计选型与物镜像差校正 普通开普勒式望远镜光学设计1: 完成了望远镜的总体结构设计,确定其物镜与目镜的初始结构选型,使用Zemax软件完成望远镜的双胶合物镜的像差校正。 阅读详情

相关推荐

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

在大型的企业应用或企业级的数据库应用中,要处理的数据量通常可以达到几十到几百GB,有的甚至可以到TB级。虽然存储介质数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作查询中速度更快,Oracle提供了对表索引进行分区的技术,以改善大型应用系统的性能。

分区表中主键索引是该是全局还是分区索引

如题,现有一分区表,除主键索引外其余索引均为分区索引,疑问如下: 1、现在有dba指出修改计划将表主键的全局索引修改为分区索引,不知道修改后能不能够起到优化的作用?? 2、分区索引对主键中的数据一致性有没有影响?? 3、在不影响生产库的情况下怎样将全局主键索引修改为分区索引??   按照我的理解答的,不全对啊。谢谢 答1,分区表在管理上的确非常方便,在性能方面的表现也不错。 但是就是有

cuiyan1982的专栏 4136

九齐单片机最新IDE NYIDE 4.80版本 台湾九齐最新开发软件更新于2022年8月31日

更新于2022年08月31日1.新增“NY8_ ICE板’画面与说明。2.更新“NY5+配置设定“画面与说明。3.更新“NY6配置设定画面与说明。4.更新“NY8B061E I NY8B062E配置设定“画面与说明。5.更新“NY8BE64A1 NY8TE64A配置设定”画面与说明。此IDE包含九齐单片机:NY8A050DNY8A051BNY8A051DNY8A051ENY8A051FNY8A051GNY8AO51HNY8A053BNY8A053DNY8A053ENY8A054ANY8A054DNY8A054ENY8A056ANY8AE51DNY8AE51FNY8B060ENY8B061DNY8B062ANY8B062BNY8B062DNY8B062ENY8B072ANY8BE62DNY8BM72ANY8TE64ANY8TM52D包含以上所有型号的例程,有汇编,有C欢迎下载

Oracle 创建索引分区

  索引分区分为:本地(局部)索引(local index) 全局索引(global index)一 本地索引1.普通索引SQL > CREATE INDEX INDEX_NAME ON TABLE (COLUMN)local(partition part_idx_01 tablespace index_space01,partition part_idx_02

ygjdatou的专栏 6586

Oracle关于位图索引创建与应用

1)创建   ---------------------   CREATE BITMAP INDEX index_name ON normal_index_creation_clause;   Oracle创建一系列的位图,每个位图都与一个特殊的值有关。例如,如果在某一个字段上创建一个位图索引,这个字段上的值有2种,1个是'East'1个是'Central',那没就建立有2个位图...

nestazhang的专栏 738

分区操作后分区索引全局索引的状态

一、对空分区操作后的状态 1、创建分区表 create table test_part_index ( id int, name varchar2(20) ) partition by range (id) (partition p1 values less than (5), partition p2 values less than (10), partition p3 values les...

u012232730的博客 1108

并行(Parallel)

并行(Parallel)并行执行的使用范围Oracle的并行技术在下面的场景中可以使用:(1) Parallel Query(并行查询)(2) Parallel DDL(并行DDL操作,如建表,...

cizongzhic79075的博客 1612

Oracle分区表创建维护分区表索引的详细步骤

墨墨导读:本文来自墨天轮用户投稿,详细描述Oracle分区表创建维护分区表索引的步骤。分区索引分为本地(local index)索引全局索引(global index)。局部索引比全...

Enmotech的博客 2087

oracle分区创建维护、查询、索引

oracle分区创建维护、查询、索引

monkey00001的博客 2813

oracle分区表local索引,Oracle分区表创建维护分区表索引的详细步骤

ix_custaddr_local_areacode custaddr list local prefixedix_custaddr_local_id custaddr list local non_prefixed因为我们的custaddr表是按areacode进行分区的,所以索引ix_custaddr_local_areacode是有前缀的索引(prefixed)。而ix_custaddr_l...

weixin_39598069的博客 1475

oracle分区索引_创建维护Oracle分区表本地索引(一)

Oracle分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。首先根据字典表创建一个测试分区表:SQL>connecteygle/eygleConnected.SQL>createTABLEdbobjs2(OBJECT_IDNUMBERNOTNULL,3O...

weixin_39630498的博客 860

oracle分区表local索引,【eygle】Oracle分区表Local索引创建维护

Oracle分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。首先根据字典表创建一个测试:SQL> connect eygle/eygleConnected.SQL> CREATE TABLE dbobjs2 (OBJECT_ID NUMBER NOT NUL...

weixin_30949015的博客 910

oracle删除建分区索引,Oracle分区表创建维护分区表索引的详细步骤

分区索引分为本地(local index)索引全局索引(global index)。局部索引全局索引容易管理, 而全局索引比较快。与索引有关的表:dba_part_indexes 分区索引的概要统计信息,可以得知每个表上有哪些分区索引分区索引的类型(local/global)dba_ind_partitions 每个分区索引分区级统计信息dba_indexes/dba_part_index...

weixin_36252577的博客 907

Oracle分区表Local索引创建维护

Oracle分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。 从产品上说,分区技术是Oracle企业版中独立收费的一个组件。 以下是对于分区及本地索引的一个示例。 首先根据字典表创建一个测试分区表: SQL> connect eygle/eyg

heqiyu34的专栏 4594

oracle分区索引_Oracle分区表Local索引创建维护

Oracle分区表Local索引创建维护SQL> connect eygle/eygleConnected.SQL> CREATE TABLE dbobjs2 (OBJECT_ID NUMBER NOT NULL,3 OBJECT_NAME varchar2(128),4 CREATED DATE NOT NULL5...

weixin_39790102的博客 1137

创建维护Oracle分区表本地索引

【原文: http://www.searchdatabase.com.cn/showcontent_12937.htm 】 Oracle分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对

zdleek的专栏 823

Oracle 19c VLDB and Partitioning Guide 第2章:Partitioning Concepts 读书笔记

Oracle 19c VLDB and Partitioning Guide 第2章:Partitioning Concepts 读书笔记

In-Memory Computing Technology 917

split partition用法

************************** 当删除分区表分区的时候,drop truncate都会导致global索引失效,需要注意。 可以加参数 update global indexes 在11g的时候,这个参数会影响数据库性能,所以我们一般都是之后手动rebuild索引。 但是在12c及以后,这个参数更加智能,会把工作安排到数据库空闲状态进行,但是我们一般还是选择把删除分...

大柏树运维笔记 3001

oracle笔记第一篇——表分区分区索引

初级程序员创建数据模型时需要考虑的表创建内容相关概念,几乎都是必须知识。

molinsa的博客 965

Oracle 分区表以及分区索引的概念

范围分区索引(Range Partitioned Index):这种索引在每个分区上都建立一个独立的索引结构,但是索引的键值是按照分区键的值进行排序的。列分区索引(List Partitioned Index):这种索引基于分区表的某一列进行分区,并在每个分区上都建立独立的索引结构。散列分区索引(Hash Partitioned Index):这种索引按照散列函数对表的数据进行分区,并在每个分区上都建立独立的索引结构。分区表可以帮助优化查询的分区条件,而索引可以帮助优化查询的查找操作。

kunfd的博客 1329

ORACLE 普通表转换成分区表(在线重定义)

分区表 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对...

csz123456101的博客 221
上一篇: Oracle 使用分析函数删除表中的重复行
下一篇: 关于 Oracle 分区索引的失效和重建
cuantangnie3915
博客等级 码龄10年 12粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值