暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 分区索引简单说明

原创 不吃草的牛_Nick 2023-06-02
532

分区索引用于索引分区表。Oracle提供了两种类型的分区表的索引:本地的和全局的。

这两种索引之间的基本区别在于本地索引基于基表的分区。如果该表按日期范围分成12个分区,则索引也分布在12个分区上。换句话说,在数据分区和索引分区之间存在着一对一的对应关系。而全局索引和基表分区之间没有这样的一对一的对应关系,全局索引与基表是分区独立的。

1.全局索引
分区表的全局索引可以分区也可以不分区。全局不分区的索引类似于未分区表的普通Oracle索引。 使用普通的CREATE INDEX语句就可创建这些全局不分区索引。

以下例子是ticket_sales表的全局索引:
CREATE INDEX ticketsales_idx ON ticket_sales(month)
GLOBAL PARTITION BY range(month)
(
PARTITION ticketsales1_idx VALUES LESS THAN (3)
PARTITION ticketsales2_idx VALUES LESS THAN (6)
PARTITION ticketsales3_idx VALUES LESS THAN (9)
PARTITION ticketsales4_idx VALUES LESS THAN (MAXVALUE)
);

全局分区索引的管理涉及重要的维护工作。当一个分区表中有DDL活动时,其全局索引需要重建。如果基表中有DDL活动,与其相关联的全局索引都会被标记为无用。在默认情况下,分区表中的任何表维护操作都将使全局索引无效(标记为无用的)。

以ticket_sales表为例考察一下失效的原因。假设为了给新季度的新分区腾出空间,你删除了最旧的季度分区。当属于ticket_sales表的一个分区被删除时,因为该索引指向的某些数据不存在了,所以全局索引无效。为了防止由于删除分区所引起的无效性,你必须使用UPDATE GLOBAL INDEXES选项以及DROP PARTITION语句,如下所示:
ALTER TABLE ticket_sales DROP PARTITION sales_quarter01 UPDATE GLOBAL INDEXES;

注解 如果未包括UPDATE GLOBAL INDEXES语句,则整个全局索引将是无效的。在增加、接合、交换、合并、移动、分离或截断分区表时,也可以使用UPDATE GLOBAL INDEX选项。当然,还可以使用ALTER INDEX...REBUILD选项重建那些变成无用的索引,但是,此选项也需要額外的时间成本和维护成本.

当由于索引叶块较少而导致争用时,Oracle建议使用散列分区全局索引。创建散列分区的全局索引的语法类似于散列分区表使用的语法。例如,以下语句创建散列分区全局索引:
CREATE INDEX hgidx ON tab (cl,c2,c3)
GLOBAL PARTITION BY HASH (C1,C2)
(
partition p1 TABLESPACE tbs_1,
partition p2 TABLESPACE tbs_2,
partition p3 TABLESPACE tbs_3,
partition p4 TABLESPACE tbs_4
);

全局分区索引
Pasted image 20230405082108.png

全局未分区索引
Pasted image 20230405083256.png

2.本地索引
本地分区索引与全局分区索引不同,前者与表分区有一对一的对应关系。可以创建本地分区索引来匹配分区甚至子分区。数据库构造此索引以便与基表一起均匀分布。任何时候,在修改基表分区时,索引分区都将自动维护。这可能是使用本地分区索引的最大优点,即当一个分区被删除或任何DDL活动发生在分区中时,Oracle将自动重建本地分区索引。

以下例子在分区表上创建本地分区索引:
CREATE INDEX ticket_no_idx ON ticket_sales(ticket_no) LOCAL TABLESPACE localidx_01;

提示 你可以使用新的SQL Access Advisor工具获得关于创建哪种索引的建议.Advisor还将告诉你哪个索引不被使用,而正在等候删除

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论