版本:7.0.0

TRUNCATE TABLE ​

功能描述 ​

清空表数据/释放存储

注意事项 ​

  • 清除其他用户的表需要TRUNCATE ANY TABLE权限
  • TRUNCATE语句不能回滚
  • 数据库重启回滚期间不支持

语法格式 ​

stmt:

sql
TRUNCATE TABLE [schema_name.]table_name [PURGE] [{DROP|REUSE} STORAGE]

参数说明 ​

  • 不指定[PURGE] [{DROP|REUSE} STORAGE]: 清空表放入回收站,可以闪回恢复数据

  • PURGE: 清空表并回收空间

  • DROP STORAGE: 清空表并回收空间

  • REUSE STORAGE: 清空表不回收空间,这部分空间自己使用

  • 基本 TRUNCATE: PURGE 回收站时回收空间,数据可闪回恢复,适用于测试开发环境。

  • TRUNCATE PURGE: 立即回收空间,数据不可恢复,适用于空间紧张、不需要恢复数据的场景。

  • TRUNCATE DROP STORAGE: 立即回收空间,数据不可恢复,适用于空间紧张、不需要恢复数据的场景。

  • TRUNCATE REUSE STORAGE: 不回收空间,数据不可恢复,适用于频繁清空重载的表。

示例 ​

-- 清空表
TRUNCATE TABLE test_data;

-- 使用 PURGE 彻底清空(不进回收站)
TRUNCATE TABLE sensitive_data PURGE;

-- 使用DROP STORAGE清空并释放空间
TRUNCATE TABLE large_table DROP STORAGE;

-- 使用REUSE STORAGE快速清空(保留分配的空间)
TRUNCATE TABLE cache_table REUSE STORAGE;