1

我是 Oracle 和数据库人员的新手。

我有一个巨大的 Oracle 11g 数据表,有 2 亿行。我将它们全部删除,只保留一个。我阅读了许多关于如何在删除行等后恢复表空间的文章,但我的表仍然需要很长时间才能访问(几分钟)。

例子:

select * from MyTable;返回一条记录需要 0.02 秒,没关系!

select * from MyTable where ID > 0;返回一条记录需要 20 多分钟。

(ID字段有索引)

我已成功运行以下命令:

alter table MyTable enable row movement;

alter table MyTable shrink space compact;

alter table MyTable deallocate unused;

但我仍然有同样的问题。

请问有什么想法吗?

4

0 回答 0