集合数据分批添加,删除

2024-06-10 15:58
文章标签 数据 删除 集合 分批

本文主要是介绍集合数据分批添加,删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分批次处理:

在处理大批量数据的时候一次性的插入或删除会对数据库造成压力(还有其他原因),我们分批处理,

private static final int DELETE_COUNT_LIMIT =2000;
if(!CollectionUtils.isEmpty(existTopicIds)){if (topicIds.size()>DELETE_COUNT_LIMIT){int size =topicIds.size()-1;int subIndex = (int) (((size)/DELETE_COUNT_LIMIT));subIndex = subIndex+((((size)%DELETE_COUNT_LIMIT))>0?1:0);for(int x=0; x<subIndex; x++){int endIndex = (x+1)*DELETE_COUNT_LIMIT;int startIndex = x*DELETE_COUNT_LIMIT;List<Integer> list = topicIds.subList(startIndex, endIndex>size?size+1:endIndex);regionHiddenConfigWriteMapper.deleteByTopicIds(list);topicHiddenForPurchasedWriteMapper.deleteByTopicIds(list);log.info("按照来源添加数据,先删除已经存在的数据,总共size={}条数据,这是第x={}次删除,删除专题list={}", + topicIds.size(),x+1,list);}} else {regionHiddenConfigWriteMapper.deleteByTopicIds(topicIds);topicHiddenForPurchasedWriteMapper.deleteByTopicIds(topicIds);log.info("按照来源添加数据,先删除已经存在的数据,总共size={}条数据,删除专题topicIds={}",topicIds.size(),topicIds);}
}
 

其他方式:

https://blog.csdn.net/lxxc11/article/details/52817817?winzoom=1

https://www.cnblogs.com/lewisat/p/4339748.html


这篇关于集合数据分批添加,删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048613

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别