我是 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;
但我仍然有同样的问题。
请问有什么想法吗?