OceanBase TRUNCATE TABLE 怎么用?高效数据清理技巧有哪些?
OceanBase 中 TRUNCATE TABLE 用于快速清空表数据并保留结构,语法为 TRUNCATE [TABLE] table_name。相比 DELETE,它不记录逐行日志,性能更高,但无法回滚且重置自增列。高效清理技巧包括:优先使用 TRUNCATE 而非 DELETE 清空全表;分区表可考虑 DROP PARTITION;大表清理避开业务高峰;确保拥有 DROP 权限;注意事务锁限制,不可在事务中使用。执行结果显示影响行数始终为 0 行,表管理程序不记得最后被使用的 AUTO_INCREMENT 值,但是会从头开始计数。只要表定义文件是合法的,则可以使用 TRUNCATE TABLE 把表重新创建为一个空表,即使数据或索引文件已经被破坏。
TRUNCATE TABLE 文档中心 SQL 型 V4.3.5 参考指南 SQL 参考 SQL 语法 普通租户 (MySQL 模式) SQL 语句 TRUNCATE TABLE 更新时间:2026-01-27 21:26:29 编辑 描述 该语句用于完全清空指定表,但是保留表结构,包括表中定义的 Partition 信息。从逻辑上说,该语句与用于删除所有行的 DELETE FROM 语句相同。使用限制及注意事项 TRUNCATE TABLE 操作通过删除表中的所有数据并重置表的元数据,从而实现高效清空表的目的。这种方法相比于逐行删除 (使用 DELETE FROM 语句) 具有显著的性能优势,尤其在处理大规模数据表时,因为它无需逐行锁定和日志记录。TRUNCATE TABLE 语句执行结果显示影响行数始终显示为 0 行。使用 TRUNCATE TABLE 语句,表管理程序不记得最后被使用的 AUTO_INCREMENT 值,但是会从头开始计数。TRUNCATE 语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。只要表定义文件是合法的,则可以使用 TRUNCATE TABLE 把表重新创建为一个空表,即使数据或索引文件已经被破坏。权限要求 执行 TRUNCATE TABLE 语句,需要当前用户拥有表的 DROP 权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类。语法 TRUNCATE[TABLE]table_name; 参数解释 参数描述 table_name 指定表名。示例 创建表 test_tbl1。CREATETABLEtest_tbl1(col1INTAUTO_INCREMENTPRIMARYKEY,col2VARCHAR(20))PARTITIONBYHASH(col1)PARTITIONS5; 向表 test_tbl1 中插入测试数据。INSERTINTOtest_tbl1(col2)VALUES('A1'),('A2'),('A3'); 返回结果如下:Query OK,3rows affected Records:3Duplicates:0Warnings:0 完全清空表 test_tbl1。TRUNCATETABLEtest_tbl1; 查看表 test_tbl1 数据。SELECT*FROMtest_tbl1; 返回结果如下:Emptyset 查看表 test_tbl1 定义。SHOWCREATETABLEtest_tbl1; 返回结果如下:(来自 2026 年 1 月 27 日的资料)
TRUNCATE TABLE 文档中心 SQL 型 V4.3.5 参考指南 SQL 参考 SQL 语法 普通租户 (MySQL 模式) SQL 语句 TRUNCATE TABLE 更新时间:2026-01-27 21:26:29 编辑 描述 该语句用于完全清空指定表,但是保留表结构,包括表中定义的 Partition 信息。从逻辑上说,该语句与用于删除所有行的 DELETE FROM 语句相同。使用限制及注意事项 TRUNCATE TABLE 操作通过删除表中的所有数据并重置表的元数据,从而实现高效清空表的目的。这种方法相比于逐行删除 (使用 DELETE FROM 语句) 具有显著的性能优势,尤其在处理大规模数据表时,因为它无需逐行锁定和日志记录。TRUNCATE TABLE 语句执行结果显示影响行数始终显示为 0 行。使用 TRUNCATE TABLE 语句,表管理程序不记得最后被使用的 AUTO_INCREMENT 值,但是会从头开始计数。TRUNCATE 语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。只要表定义文件是合法的,则可以使用 TRUNCATE TABLE 把表重新创建为一个空表,即使数据或索引文件已经被破坏。权限要求 执行 TRUNCATE TABLE 语句,需要当前用户拥有表的 DROP 权限。有关 OceanBase 数据库权限的详细介绍,请参见 MySQL 模式下的权限分类。语法 TRUNCATE[TABLE]table_name; 参数解释 参数描述 table_name 指定表名。示例 创建表 test_tbl1。CREATETABLEtest_tbl1(col1INTAUTO_INCREMENTPRIMARYKEY,col2VARCHAR(20))PARTITIONBYHASH(col1)PARTITIONS5; 向表 test_tbl1 中插入测试数据。INSERTINTOtest_tbl1(col2)VALUES('A1'),('A2'),('A3'); 返回结果如下:Query OK,3rows affected Records:3Duplicates:0Warnings:0 完全清空表 test_tbl1。TRUNCATETABLEtest_tbl1; 查看表 test_tbl1 数据。SELECT*FROMtest_tbl1; 返回结果如下:Emptyset 查看表 test_tbl1 定义。SHOWCREATETABLEtest_tbl1; 返回结果如下:(来自 2026 年 1 月 27 日的资料)
清空表 TRUNCATE TABLE-V4.3.0-OceanBase 迁移服务 OMS 文档 - 分布式数据库使用文档
一体机 OceanBase 数据库一体机 软硬一体,提供极致性能与高可靠性保障 OceanBase AI 一体机 基于 OceanBase AI Stack 的智能一体机 工具 一体化关键能力 TP 事务处理 面向关键业务负载的事务处理能力,保障大规模业务稳定运行与数据零丢失 AP 实时分析 原生支持事务与分析融合,低延迟洞察业务数据,驱动智能决策与敏捷运营 AI 混合搜索 支持标量、向量与全文混合查询,构建面向未来的 AI 数据底座 OceanBase 4.4.2 LTS 发布 面向 AI 时代的企业级一体化数据底座 通用场景 全场景业务系统 OLTP 实时分析混合负载 异地多活 多基础设施部署 混合云部署 一库多芯软硬件混合部署 冷数据归档降本 多实例资源整合 分库分表一体化升级 高并发场景 长亮科技 x OceanBase 新核心系统 中电金信 x OceanBase 金融分布式核心系统 天阳科技 x OceanBase 贷记卡方案 易诚互动 x OceanBase 手机银行方案(消息于 2026 年 4 月 14 日发布)
TRUNCATE TABLE-V4.2.5-OceanBase 数据库文档 - 分布式数据库使用文档
首批通过分布式安全可靠测评,为关键业务系统打造 OceanBase 单机企业版 集中式架构,兼具性能与成本优势的单机数据库 OceanBase 社区版 兼容 MySQL 的单机分布式一体化开源数据库 OceanBase seekdb 为现代 AI 应用打造的开源混合搜索数据库 云上部署 OB Cloud 一体化云数据库,打造面向多云的一致性体验 一体机 OceanBase 数据库一体机 软硬一体,提供极致性能与高可靠性保障 OceanBase AI 一体机 基于 OceanBase AI Stack 的智能一体机 工具 迁移评估工具 (OMA) 数据迁移工具 (OMS) 开发者工具 (ODC) 运维管理工具 (OCP) 自治服务工具 (OAS) 一体化关键能力 TP 事务处理 面向关键业务负载的事务处理能力,保障大规模业务稳定运行与数据零丢失 AP 实时分析 原生支持事务与分析融合,低延迟洞察业务数据,驱动智能决策与敏捷运营 AI 混合搜索 支持标量、向量与全文混合查询,构建面向未来的 AI 数据底座 OceanBase 4.4.2 LTS 发布 面向 AI 时代的企业级一体化数据底座 行业专区 银行专区 助力银行完成各类核心业务系统升级 保险专区 寿险、产险核心系统升级的更佳选择 零售专区 助力 200+ 零售行业客户规模化落地 合作伙伴 合作伙伴类型 联合解决方案 产业生态伙伴 经销商伙伴 技术服务伙伴 培训认证伙伴 生态联合解决方案 神州信息 x OceanBase 银行核心系统 长亮科技 x OceanBase 新核心系统 中电金信 x OceanBase 金融分布式核心系统 天阳科技 x OceanBase 贷记卡方案 易诚互动 x OceanBase 手机银行方案 恒生 x OceanBase UF3.0/O45/TA/估值方案 商业发行版 云树®数据库软件 ActionDB 生态商业产品 图数据库 服务 支持与服务 提交工单 软件下载 OceanBase 企业版 OceanBase 社区版(撰于 2026 年 4 月 15 日)
FAQ
TRUNCATE TABLE 语句执行结果显示影响行数是多少?
TRUNCATE TABLE 语句执行结果显示影响行数始终显示为 0 行。
执行 TRUNCATE TABLE 语句需要什么权限?
执行 TRUNCATE TABLE 语句,需要当前用户拥有表的 DROP 权限。
TRUNCATE 语句能在事务处理过程中进行吗?
TRUNCATE 语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。