Sqlserver 批量提交的方案改进!

本文讨论了一种在批量数据处理过程中提高效率的方法。针对在提交前需要检查每条记录是否已存在于数据库的问题,提出通过构建一个长SQL语句一次性查询所有记录的存在状态,以此减少查询次数并提高整体效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bulk的使用我们都是知道的,在这里我就不做过多的阐述了! 但是我现在的情况还稍微有点不一样!待我细细道来!
正常情况下我们在提交之前首先组Datatable,最后一次提交,效率相当高!
但是我现在的情况确是在把数据添加到datatable之前首先确认一下这一行是否在数据库中存在,若是存在我就不添加,若是存在就添加! 这样我就首先建立连接获取一下数据库中这个行的存在情况,10000条记录我就要首先获取这一万行记录的存在情况,这样效率肯定会大打折扣!
有什么办法可以突破这个思路呢!
刚才在想这个问题的时候我自己倒是想到一个解决办法,假如我们这边有10000条记录需要提交,我们可以首先拼接一条很长的sql语句把数据库中的符合条件的查询一下,中间用or 连接!什么意思呢!
假如有两列数据 编号 姓名
select * from YH_Info where ID='' and Name='' Or ID=''  and Name=''; 无限连接,然后把结果汇总到一个datatable 这样只要一次查询就能解决这个问题! 获取datatable之后可以本地进行判断这条记录在这个表里边是否存在!若是不存在则继续添加准备提交,若是存在则跳过!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值