DROP PURGE 关键字
        【摘要】 在 Oracle 数据库中,PURGE 是一个可选关键字,用于在执行 DROP TABLE 命令时永久删除表,而不是将其放入回收站(Recycle Bin)。 PURGE 的作用直接删除,不进入回收站默认情况下,Oracle 会将删除的表放入回收站(USER_RECYCLEBIN 或 DBA_RECYCLEBIN),以便后续可以恢复(FLASHBACK TABLE ... TO BEFORE...
    
    
    
    在 Oracle 数据库中,PURGE 是一个可选关键字,用于在执行 DROP TABLE 命令时永久删除表,而不是将其放入回收站(Recycle Bin)。
 PURGE 的作用
- 
直接删除,不进入回收站
- 默认情况下,Oracle 会将删除的表放入回收站(
USER_RECYCLEBIN或DBA_RECYCLEBIN),以便后续可以恢复(FLASHBACK TABLE ... TO BEFORE DROP)。 - 使用 
PURGE后,表会被永久删除,无法恢复。 
 - 默认情况下,Oracle 会将删除的表放入回收站(
 - 
节省存储空间
- 如果确定不再需要该表,使用 
PURGE可以立即释放存储空间,而不是等待回收站自动清理。 
 - 如果确定不再需要该表,使用 
 - 
提高删除速度
- 由于跳过了回收站管理步骤,
DROP TABLE ... PURGE通常比普通DROP TABLE更快。 
 - 由于跳过了回收站管理步骤,
 
语法对比
| 命令 | 行为 | 
|---|---|
DROP TABLE 表名; | 
表进入回收站,可恢复 | 
DROP TABLE 表名 PURGE; | 
表被永久删除,不可恢复 | 
示例
-- 删除表并放入回收站(默认行为)
DROP TABLE employees;
-- 删除表并永久清除(不进入回收站)
DROP TABLE employees PURGE;
回收站相关命令
如果误删了表但没有使用 PURGE,可以通过以下方式恢复:
- 查看回收站中的表
SELECT object_name, original_name, droptime FROM user_recyclebin WHERE original_name = 'EMPLOYEES'; - 恢复表
FLASHBACK TABLE employees TO BEFORE DROP; - 清空回收站
PURGE RECYCLEBIN; -- 清空当前用户的回收站 PURGE DBA_RECYCLEBIN; -- 清空整个数据库的回收站(需要 DBA 权限) 
适用场景
- 
使用
PURGE:- 确定不再需要该表。
 - 需要立即释放存储空间。
 - 删除大表以避免回收站占用过多空间。
 
 - 
不使用
PURGE:- 可能需要恢复表(如测试环境或开发环境)。
 - 希望保留删除历史(便于审计)。
 
 
总结
PURGE 的作用是永久删除表,跳过回收站。在生产环境中,如果确认不再需要该表,建议使用 PURGE 以节省空间和提高性能。
            【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)