清理大量数据咨询

OBProxy问题咨询
【 OB 4.2.1.7】
【生产环境】
各位老师好,现在想咨询一下清理历史数据,数据量比较大(单表100GB左右的),drop/truncate或者哪种方式清理会对线上造成的影响比较小?清理旧数据会引发别的问题么

drop/truncate实际上是同样的操作。
目前这边没有遇到过清理旧数据会引发了别的问题。但是清理也是会对磁盘 I/O 产生影响的建议避开高峰期执行

可以写个function,设置合适的批量delete,例如批量10w,循环删除,清理完成后再drop;
也可以使用分区表,drop/truncate分区,

这样影响小些

如果是删全表是不是直接drop就好了,会触发长事务么,truncate我记得好像比drop会快很多?

大表直接删除会引起IO抖动,当然4.x较3.x truncate性能有了较大改进,效率更快

可以看下这个知识库
https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000095?back=kb