【 使用环境 】测试环境
【 OB or 其他组件 】Observer
【 使用版本 】4.3.1.0
【问题描述】有一个业务场景,需要对一张表所有数据做更新,该表的数据量大概在9百万左右,要更新的字段70个,目前通过update一次更新的时间大概在30分钟。有没有办法让更新加快?该表建了唯一索引。
建了唯一性约束的表,并行DML会生效吗?
您好 ,可以临时调高租户cpu,和内存,适当增加加并行hint
对于特别大的批量更新任务,可以考虑分批处理,将任务拆分成多个较小的批量,以避免一次性处理过多数据导致的性能问题。可以考虑jdbc用 Fetch Size 可以消耗一定的内存 可以提升。
可以先删除唯一索引,使用并行update后再并行创建索引
https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000366649?back=kb
感谢