首页 > oracle一张表内有几千万条纪录,如何按条件删除某些纪录

oracle一张表内有几千万条纪录,如何按条件删除某些纪录

1、按时间条件删除纪录
2、如何能在不影响业务的前提下快速进行操作
3、如果直接用delete语句的话,只是删除3天内的数据,30分钟内没有执行结果。


建议你在表上做分区,每个分区内2-300万数据时性能还可以不错.
如果业务上有按日期删除的需求,可以按日期建立分区,需要时直接删除对应分区就行了。


我也遇到这个问题了,除了一楼的方案外没有找到比较合适的方案。


几千万条记录应该是有分区的。看是否在时间字段上。如果是时间字段上直接将分区删除就行。


做时间分区
搞过16亿的表,drop分区瞬间的事情,要不影响应用的话,索引需要建成local索引。

【热门文章】
【热门文章】