首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库大批量删除数据最佳实践
更新时间:2026-05-28 02:06
本文讲述对一张表进行大批量删除(并非全量删除)的注意事项。在多次对同一张表进行删除、更新操作后,随着转储次数逐渐增多会出现越删越慢的情况,建议在删除完成后进行合并。
大批量删除需要注意的事项:
一次批量删除的记录大小不能超过 OceanBase 数据库单个事务大小(100MB)。
需要关注内存占用过多对性能的影响。比如需要删除 100 万行数据。
内存计算公式: 表 T1 有 100 个字段,每个字段数据类型都是 varchar(128),表的字符集为 utf8mb4,那么一行记录内存占用为:1001284=51200 Bytes=50KB;10000 行记录内存占用为 50KB*10000=500MB。
所以对于这样的表,每次最多能删除 1000 行记录。
大批量删除会导致的问题:
- 大事务、备库应用事务延迟。
适用版本
OceanBase 数据库 V2.x 版本。