回复楼上两位好心人 :
统计信息现在看正常,没有analyze历史,我们每天会有定时任务手动更新统计信息。此外我这边gc间隔较短,并发只有25个,每个并发一次删1000条数据,不容易产生堆积。
数据量方面也应该不到足以放弃tableRangeScan转为走唯一键的程度,因为要删除的数据实际还很多,相比1000条的rowid范围算很小了。
但目前确实也只看作是统计信息有变动导致执行计划有变,我觉得优化器没有对这方面做专门的加强。
当前改进是先加了hint,看看以后还会不会出问题了,针对本次效果还是很好的: