关于Oracle PURGE INDEX声明

时间:2018-06-12 16:29:29

标签: sql oracle

我对Oracle数据库的SQL PURGE语句有点担心。根据Oracle doc,我们可以清除索引,参考here

但根据Oracle Doc in Administration,索引只是与表关联的对象。因此,索引不能单独从回收站中清除(事实上,它在清除表时会被清除)。

有人可以给我一个我可以模拟的例子"清除索引"?

1 个答案:

答案 0 :(得分:3)

如果删除具有索引的表,则表及其索引都将移动到recyclebin。此时,您可以单独清除索引。

create table demo (id integer);

create index demo_ix on demo(id);

drop table demo;

select r.object_name, r.original_name, r.type from user_recyclebin r;

OBJECT_NAME                     ORIGINAL_NAME           TYPE
------------------------------- ----------------------- -------------------------
BIN$SC08VFzrQAGoWW5b/yBRIQ==$0  DEMO_IX                 INDEX
BIN$zIngUcYDRaqvbVqnesnUtQ==$0  DEMO                    TABLE

purge index demo_ix;

select r.object_name, r.original_name, r.type from user_recyclebin r;

OBJECT_NAME                     ORIGINAL_NAME           TYPE
------------------------------- ----------------------- -------------------------
BIN$zIngUcYDRaqvbVqnesnUtQ==$0  DEMO                    TABLE