位置: 编程技术 - 正文

SQL Server并发处理存在就更新解决方案探讨(sqlldr并发)

编辑:rootadmin

推荐整理分享SQL Server并发处理存在就更新解决方案探讨(sqlldr并发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql并发控制怎么实现,sqlserver并发处理,sqlserver数据库并发设置,sqlserver数据库并发设置,sql server 并发,sqlserver并发处理,sql并发控制怎么实现,sqlserver数据库并发设置,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

本节我们来讲讲并发中最常见的情况存在即更新,在并发中若未存在行记录则插入,此时未处理好极容易出现插入重复键情况,本文我们来介绍对并发中存在就更新行记录的七种方案并且我们来综合分析最合适的解决方案。

探讨存在就更新七种方案

首先我们来创建测试表

解决方案一(开启事务)

我们统一创建存储过程通过来SQLQueryStress来测试并发情况,我们来看第一种情况。

同时开启个线程和个线程出现插入重复键的几率比较少还是存在。

解决方案二(降低隔离级别为最低隔离级别UNCOMMITED)

此时问题依旧和解决方案一无异(如果降低级别为最低隔离级别,如果行记录为空,前一事务如果未进行提交,当前事务也能读取到该行记录为空,如果当前事务插入进去并进行提交,此时前一事务再进行提交此时就会出现插入重复键问题)

解决方案三(提升隔离级别为最高级别SERIALIZABLE)

在这种情况下更加糟糕,直接到会导致死锁

此时将隔离级别提升为最高隔离级别会解决插入重复键问题,但是对于更新来获取排它锁而未提交,而此时另外一个进程进行查询获取共享锁此时将造成进程间相互阻塞从而造成死锁,所以从此知最高隔离级别有时候能够解决并发问题但是也会带来死锁问题。

SQL Server并发处理存在就更新解决方案探讨(sqlldr并发)

解决方案四(提升隔离级别+良好的锁)

此时我们再来在添加最高隔离级别的基础上增添更新锁,如下:

运行多次均未发现出现什么异常,通过查询数据时使用更新锁而非共享锁,这样的话一来可以读取数据但不阻塞其他事务,二来还确保自上次读取数据后数据未被更改,这样就解决了死锁问题。貌似这样的方案是可行得,如果是高并发不知是否可行。

解决方案五(提升隔离级别为行版本控制SNAPSHOT)

上述解决方案也会出现插入重复键问题不可取。

解决方案六(提升隔离级别+表变量)

经过多次认证也是零错误,貌似通过表变量形式实现可行。

解决方案七(提升隔离级别+Merge)

通过Merge关键来实现存在即更新否则则插入,同时我们应该注意设置隔离级别为SERIALIZABLE否则会出现插入重复键问题,代码如下:

多次认证无论是并发个线程还是并发个线程依然没有异常信息。

总结

本节我们详细讨论了在并发中如何处理存在即更新,否则即插入问题的解决方案,目前来讲以上三种方案可行。

解决方案一(最高隔离级别 + 更新锁)

暂时只能想到这三种解决方案,个人比较推荐方案一和方案三, 请问您有何高见,请留下您的评论若可行,我将进行后续补充。

解决方案二(最高隔离级别 + 表变量)

解决方案三(最高隔离级别 + Merge)

暂时只能想到这三种解决方案,个人比较推荐方案一和方案三, 请问您有何高见,请留下您的评论若可行,我将进行后续补充。

标签: sqlldr并发

本文链接地址:https://www.jiuchutong.com/biancheng/324400.html 转载请保留说明!

上一篇:Sqlserver事务备份和还原的实例代码(必看)(sqlserver完整备份)

下一篇:详解SQL Server如何修改数据库物理文件的存在位置(sql server.)

  • 私人大额转账要到柜台办理吗
  • 税务账是什么意思
  • 个体户能开增值税普通发票给单位吗?
  • 研发费用加计扣除是什么意思啊
  • 什么经营范围可以开电费发票
  • 金税盘可以用安卓的线吗
  • 卖废品开发票开什么货物名称
  • 收购发票能使用几次
  • 小规模纳税人印花税怎样计算
  • 出口收入账务处理
  • 财政拨款税收政策
  • 电算化怎么操作
  • 临时营业执照有效期多久
  • 饮料工业发展前景如何
  • 未结转损益可以结账吗
  • 只有增值税进项怎么抵扣
  • 增值税普通发票可以抵扣吗
  • 建筑企业成本票是含税价还是不含税价
  • 居间费税收是多少
  • 个体工商户允许哪些经营范围
  • 关于递延所得税的例题
  • 购进的出口货物如何入账
  • 筹建期间发生的费用计入哪里
  • 工商年检填写数据填错了会罚款吗
  • 高新技术企业人员工资占比
  • 无形资产可以占多少比例
  • 如何配置环境变量windows
  • acs_log是什么文件
  • 借条复印件可以起诉吗还有转账记录
  • 王者荣耀中李白第二次离开
  • windows10如何清理磁盘碎片
  • lsm.exe是什么程序
  • Win11 Build 22449.1000 预览版发布(附更新修复已知问题汇总)
  • 确认收入的必要条件
  • 2022年开始,手握大量现金的人
  • 数据处理教程
  • 销售使用过的机器设备如何缴纳增值税
  • 税法中一年按多少天算
  • wx-java
  • 房地产企业出售房产增值税
  • apt apt-get aptitude
  • 个体工商户属于灵活就业人员吗
  • 小微企业声明函去哪个部门开
  • 委托境外机构研发
  • 制药企业客户退货流程
  • 在计算土地增值税时质量保证金可以扣除
  • 营业执照上有劳务派遣还需要办其他手续吗
  • 水利建设基金申报
  • 可变现净值属于会计计量属性吗
  • Windows下Postgresql数据库的下载与配置方法
  • 税金及附加的科目核算有哪些
  • 网上代增值税专用发票
  • 企业贷款受托支付如何收税
  • 财税人员岗位职责
  • 其他业务支出的借贷方向
  • 销售折让的会计账务处理分录
  • 销项发票怎么导出的是压缩包怎么打开
  • 会计准则规定了什么
  • 技术合同免税备案税务局
  • 城市天然气管道爆炸
  • 使用权资产
  • sql中去掉结果为零的
  • 不同数据库之间的数据一同传递
  • windowsxp错误提示
  • windows优化软件哪个好
  • centos 怎么用
  • winxp安卓
  • winxp如何将两个分区合并成一个分区
  • ubuntu20录屏
  • 怎么调用windows api
  • win7系统玩游戏怎么样
  • win 10 build
  • nodejs 程序 打包服务端
  • linux怎么全盘备份
  • jQuery+ajax实现文章点赞功能的方法
  • 一些常用的网络命令
  • 国家税务总局税务稽查科
  • 公益性公墓免交税吗
  • 江西国税局电话客服热线
  • 公司迁税务所流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设