oracle数据库中往分区表里插入数据时,索引需要先删掉吗

oracle数据库中往分区表里插入数据时,索引需要先删掉吗,第1张

需要看是否是全局索引。

如果是全局索引,是需要重建,如果是本地分区索引,还可以继续使用。

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。

ALTER

TABLE

DROP

PARTITION

用于删除table中某个PARTITION和其中的数据,主要是用于历史数据的删除。如果还想保留数据,就需要合并到另一个partition中。

删除该partition之后,如果再insert该partition范围内的值,要存放在更高的partition中。如果你删除了最大的partition,就会出错。

删除table

partition的同时,删除相应的local

index。即使该index是IU状态。

如果table上有global

index,且该partition不空,drop

partition会使所有的global

index

为IU状态。如果不想REBUIL

INDEX,可以用SQL语句手工删除数据,然后再DROP

PARTITION

例子:

ALTR

ATBEL

sales

DROP

PARTITION

dec96;

到底是DROP

PARTITION或者是DELETE?

如果GLOBAL

INDEX是最重要的,就应该先DELETE

数据再DROP

PARTITION。

在下面情况下,手工删除数据的代价比DROP

PARTITION要小

-

如果要删除的数据只占整个TABLE的小部分

-

在TABLE中有很多的GLOBAL

INDEX。

在下面情况下,手工删除数据的代价比DROP

PARTITION要大

-

如果要删除的数据占整个TABLE的绝大部分

-

在TABLE中没有很多的GLOBAL

INDEX。

如果在TABLE是父TABLE,有被引用的约束,且PARTITION不空,DROP

PARTITION时出错。

如果要删除有数据的PARTITION,应该先删除引用约束。或者先DELETE,然后再DROP

PARTITION。

如果TABLE只有一个PARTITON,不能DROP

PARTITION,只能DROP

TABLE。

非主键、唯一键的索引。都可以考虑创建分区索引。

提升1:

经常要分区交换的索引。

提升2:

分区键以及被索引列经常在SQL语句里面同时出现。

提升3:

经常要对分区表进行维护 *** 作。(例如move、rebuild index等)

以上就是关于oracle数据库中往分区表里插入数据时,索引需要先删掉吗全部的内容,包括:oracle数据库中往分区表里插入数据时,索引需要先删掉吗、oracle 有全局索引怎么删除分区、oracle 什么情况创建分区索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9835964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存