Atitit.分区对索引的影响 分区索引和全局索引 attilax总结

Atitit.分区对索引的影响 分区索引和全局索引 attilax总结

1. 分区的好处1

2. 分区键:2

3. 分区的建议:2

4. 分区索引和全局索引:2

5. 全局索引就是在全表上创建索引, 3

6. 总结4

7. refer4

1. 分区的好处

在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表

分区使得数据管理操作如数据装载、索引建立和重建、备份和恢复等在分区级别上完成,这比在表级完成操作要明显的节省时间;

分区可以提高性能,在很多情况下,查询可以通过扫描某个分区来完成,而不是去扫描整个表;

根据查询条件自动将扫描范围缩小到一个或几个表(索引)分区上。这种方式其实是分区扫描替代了全表扫描。

如果连接查询的两张表都在连接列上进行分区,则 会优化连接操作,将一个大的连接分成各个对应分区间的连接,而且这些分区连接操作还可以并行执行。

并行DML:采用并行执行,可以使操作并行在各个分区上同时执行,从而提供执行效率。

2. 分区键:

分区表中的每条记录都唯一的属于一个分区,分区键就是确定一条记录属于哪个分区的一列或多个列。

分区键可以由1~16列组成,可以包含空值,不能包含ROWID、LEVEL或MLSLABEL等伪列

3. 分区的建议:

表的大小超过2G就可以考虑是否分区;

包含历史数据的表。这种表一般采用时间字段的范围分区,新的数据总是装载到新的分区中

4. 分区索引和全局索引:

分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响。

本地分区索引和全局分区索引。

本地分区索引采用和表的等同分区,因此,在对分区进行操作时(如ADD PARTITION或DROP PARTITION等),Oracle会自动维护本地分区索引的正确性。

全局分区索引可以采用和表不同的分区范围或分区方式。一般对分区执行了DDL操作后,全局索引都会处于INVALID状态,不过9i增加了新的语法,UPDATE GLOBAL INDEXES,使得DDL在操作分区数据的之后维护全局索引的正确性。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

5. 全局索引就是在全表上创建索引,

它可以创建自己的分区,可以和分区表的分区不一样,也就是它是独立的索引。

在drop或truncate某个分区时需要创建索引alter index idx_xx rebuild,也可以alter table table_name drop partition partition_name update global indexes;实现,但是要花很长时间在重建索引上。可以通过查询user_indexes、user_part_indexes和user_ind_partitions视图来查看索引是否有效。

或者把全局索引分成多个区(注意和分区表的分区不一样):


create index idx_ta_c4 on ta(c4) global partition by range(c4)(partition ip1 values less than(10000),partition ip2 values less than(20000),partition ip3 values less than(maxvalue));

6. 总结

在频繁删除表的分区且数据更新比较频繁时为了维护方便避免使用全局索引。

7. refer

分区表、分区索引和全局索引部分总结_数据库技巧_IT专家网.htm

Atitit.分区对索引的影响 分区索引和全局索引 attilax总结

分区表和分区索引——数据库概念-yangtingkun-ITPUB博客.htm

时间: 2024-08-02 19:05:59

Atitit.分区对索引的影响 分区索引和全局索引 attilax总结的相关文章

Oracle12c中性能优化&功能增强新特性之全局索引DROP和TRUNCATE 分区的异步维护

Oracle 12c中,通过延迟相关索引的维护可以优化某些DROP和TRUNCATE分区命令的性能,同时,保持全局索引为有效. 1.   设置 下面的例子演示带全局索引的表创建和加载数据的过程. -- 建表 CREATE TABLE t1 (id            NUMBER, comment   VARCHAR2(50), crt_time  DATE) PARTITION BY RANGE (crt_time) (PARTITION part_14 VALUES LESS THAN (

Oracle Spatial分区应用研究之四:不同分区粒度+全局空间索引效率对比

1.实验目的 在实验之前先回答这样一个问题--对同一份数据使用不同的分区粒度,但均创建全局空间索引,问:它们的全局空间索引一致吗? 怎样算是一致的呢?R-TREE的树结构一致算一致吗?空间索引条目数及大小一致算一致吗?严格的一致,当然是指索引条目数.索引大小.R-TREE树结构完全一致.但经过分析发现,它们的索引条目数.R-TREE树结构是完全一致的,但索引大小有微小的差别.但我们仍然认为它们的全局索引是一致的,这是因为,R-TREE树结构才是决定空间索引是否一致的关键. 基于上述前提条件,思考

truncate删除一个分区,测试全局索引是否失效

目的,有一个清理数据的需求,需要删除历史的一个分区所有记录信息,但是存在主键global索引,如何更好的维护. 如下测试流程一 提前创建好一个已时间created 字段作为分区键的范围分区表 SQL> select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,HIGH_VALUE,TABLESPACE_NAME from dba_tab_partitions where TABLE_OWNER='TEST' and TABLE_NAME='A';TABLE_OWN

同义词,索引,表分区

同义词:数据字典 作用:屏蔽对象的名字及其持有者,为用户简化SQL语句. 创建私有同义词: create synonym ee for scott.emp 授权:  grant  create  synonym  to  happyy2165 grant create synonym to SCOTT GRANT CREATE PUBLIC SYNONYM TO scott; 公有同义词:  数据库中任何一个用户都默认拥有public角色 create  public  synonym  tt

Oracle 12C 新特性之表分区带 异步全局索引异步维护(一次add、truncate、drop、spilt、merge多个分区)

实验准备:-- 创建实验表CREATE TABLE p_andy(ID number(10), NAME varchar2(40))PARTITION BY RANGE (id)(PARTITION p1 VALUES LESS THAN (10),PARTITION p2 VALUES LESS THAN (20));Table created.-- 查看现在表的分区:SQL> col table_name for a25col partition_name for a25select tab

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

1. 索引的分类1 1.1. 按照存储结构划分btree,hash,bitmap,fulltext1 1.2. 索引的类型  按查找方式分,两种,分块索引 vs编号索引1 1.3. 顺序索引  vs 散列索引2 1.4. 按索引与数据的查找顺序可分为 正排与倒排索引2 1.5. 单列索引与多列索引 复合索引2 1.6. 分区索引和全局索引 2 1.7.  Trie树一般指字典树 又称单词查找树,Trie树2 1.8. 稠密索引 vs 稀疏索引3 1.9. 多级索引 vs 单击索引3 1.10.

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 索引的类型  按查找方式分,两种,分块索引 vs编号索引1 1.2. 按索引与数据的查找顺序可分为 正排与倒排索引1 1.3. 单列索引与多列索引2 1.4. 分区索引和全局索引 2 2. 索引建立,更新的流程使用触发更新索引的事件2 3. 索引常用的存储结构 B树文件 叫做“索引顺序存取方法”(Indexed Sequential Access Method),缩写为ISAM.2 4.  Trie

分区表的操作对索引的影响

一直知道对分区表的DDL 操作可能导致索引失效,但是还没做过总结,今天稍微总结下. 增加分区对所有索引都没影响 Truncate 分区会导致全局索引,主键失效.分区索引不受影响 Truncate update global indexes 索引不受影响 Move 分区导致全局索引和分区所在的本地索引失效. Move update global indexes 全局索引没影响,分区所在的本地索引失效. Drop 分区导致全局索引失效,分区索引不受影响 Drop upgrade global ind

交换分区对磁盘的影响

大交换区策略,没有增加磁盘I/O的流量.明确的指出,即使是512M内存,也可以分配高达40G的交换区,以提高系统的性能.Zlatko 在向Linus提出性能的质疑后,自己进行了验证.实验表明大交换区策略,没有增加磁盘I/O的流量. Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件.前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕. 交换分区对磁盘的影响