【DB笔试面试234】在Oracle中,如何有效的删除一个大表(即表的EXTENT数很多)?
2021-04-10 22:10
1351 查看
在Oracle中,如何有效的删除一个大表(即表的EXTENT数很多)?
A 答案如下所示:
一个有很多EXTENT(100k+)的表,如果只是简单地用DROP TABLE的话,那么会大量消耗CPU(在DMT管理下,Oracle要对FET$、UET$数据字典进行操作),可能会用上很长的时间,较好的方法是分多次删除EXTENT,以减轻这种消耗:
1. TRUNCATE TABLE BIG_TABLE REUSE STORAGE;
2. ALTER TABLE BIG_TABLE DEALLOCATE UNUSED KEEP 2000M ;
3. ALTER TABLE BIG_TABLE DEALLOCATE UNUSED KEEP 1500M ;
....
4. DROP TABLE BIG_TABLE;
相关文章推荐
- 如何有效的删除一个大表(extent数很多的表)
- 『管理调优』如何有效的删除一个大表(extent数很多的表)
- 如何有效的删除一个大表(extent数很多的表)
- 【DB笔试面试561】在Oracle中,如何预估即将创建索引的大小?
- 【DB笔试面试613】在Oracle中,和子查询相关的查询转换有哪些?
- oracle如何对表同一个表重复的数据进行删除
- Oracle 如何删除掉一个用户下的所有对象
- 【DB笔试面试611】在Oracle中,什么是结果集缓存?
- 【DB笔试面试614】在Oracle中,和视图相关的查询转换有哪些?
- Oracle 删除了一个表的数据如何重新找回
- oracle如何删除一个用户下的所有数据?
- [DB][Oracle]如何用一个SQL文实现Insert/Update/Delete和--MERGE命令详解
- 如何在oracle中彻底删除一个表?
- [互联网面试笔试汇总C/C++-20] 如何申请一个大小为n的数组(一维或二维)
- oracle如何对表同一个表重复的数据进行删除
- oracle中如何删除一个用户
- 笔试/面试:删除一个无头单链表的非尾节点 ,从尾到头打印单链表
- ORACLE中如何用一条SQL语句删除一个表中所有某个列的值为空的数据?
- 如何删除一个CSDN上自己上传的资源(亲测,实用有效)
- 如何完成一个有效的面试——善用STAR法则