11.读书笔记收获不止Oracle之 表设计之分区使用

前端之家收集整理的这篇文章主要介绍了11.读书笔记收获不止Oracle之 表设计之分区使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

11.读书笔记收获不止Oracle之 表设计之分区使用

1分区表最实用的特性

1.1高效的分区消除

分区表的最大意义在于,可以有效的做到分区消除。

不过分区数过都,调用时会带来开销的。

1.2强大的分区操作

Delete无法释放空间,而truncate却有效地释放了空间。Truncate往往不能轻易使用,因为DELETE往往是针对某些条件的局部记录删除,而TRUNCATE显然不能带上条件,无法做到局部删除

ORACLE可以实现TRUNCATE某个分区

此外,ORACLE提供了一个非常棒的工具,就是分区交换,可以实现普通表和分区表的某个分区之间数据的相互交换,他们之间的交换非常快,基本在瞬间可以完成。两张表的字段必须是完全一样的。

此外还可以进行分区切割,将一个较大的分区切割成小的分区。

还有分区合并分区增删操作。

2.关于分区索引

分区索引分成两类,一类是全局索引,另一类是局部索引,其中全局索引和普通的建索引方式无异。局部索引需要增加LOCAL关键字。局部索引是针对各个分区所建的索引。

3.分区表之陷阱

3.1索引失效

查看索引状态

sql>select index_name,status from user_indexeswhere index_name in (….);

sql>selectindex_name,partition_name,status from user_ind_partitions where index_name=’…’;

当TRUNCATE 分区后,全局索引失效。

使用参数update global indexes关键字可以避免全局索引失效。

分区表设计要考虑在语句中有效用到分区条件,有无分区条件差别巨大。

猜你在找的Oracle相关文章