位置: 编程技术 - 正文

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.)

  • 企业收取培训费
  • 租房子没有
  • 取得研发样品收入
  • 政府补助确认递延所得税
  • 购买债券的利息会计分录
  • 开办期间的财务会计制度
  • 培训产生的住宿费算培训费吗
  • 营改增后计税依据
  • 外企缴纳社保
  • 土地增值税清算规程实施细则
  • 银行承兑汇票怎么取钱
  • 银行变更印鉴多久生效
  • 收到员工的罚款钱怎么写分录
  • 计入增值税应税销售额
  • 周转材料属于什么会计要素
  • 已经交税的收入退款会计分录
  • 未开票收入开票后怎么做账
  • 个体工商户的税收优惠政策有哪些
  • 职工报销费用的处理流程
  • 投资决策中常用的指标有
  • 验旧作废发票遗失了如何验旧?
  • 增值税申报表中期初未缴税额指什么
  • 在建工程转入固定资产的条件
  • 微信公众号认证年审怎么弄
  • 园林公司采购岗位职责
  • 购买监控设备费用谁出
  • 电脑店u盘装系统步骤
  • win10我无法更改某些设置
  • scrtkfg.exe - scrtkfg是什么进程 有什么用
  • 顺流交易合并抵消 chenyiwei
  • php中正则表达式
  • 增值税及附加税是什么意思
  • 私有化部署chatGPT,告别网络困扰
  • 企业残保金怎样申报
  • vue3.0教程
  • vue2和vue3的兼容
  • 打车费属于差旅费吗
  • 未达到起征点的增值税怎么填写
  • 企业重组后的债权怎么算
  • 帝国cms真的很好用
  • 年终奖税金怎么扣
  • 织梦如何使用不侵权
  • 为客户购买的机票怎么入账
  • 销售收入未及时入账
  • 长期股权投资大白话解释
  • 建筑公司内账收什么费用
  • 企业公司怎么申请
  • SQL2005 自动备份的脚本
  • sqlserver 创建链接服务器
  • 预缴增值税附加税需要计提吗
  • 储值卡金额算什么资产
  • 暂估销售收入账目
  • 拍卖土地支付的法律依据
  • 超期未备案可以投诉么
  • 没有到位的注资公司
  • 物流公司挂靠车辆如何做账?
  • 计提税金如何进项抵扣
  • 旅游饮食服务企业财务会计制度
  • sql server高级应用
  • window系统怎么用
  • xp系统没有任何图标
  • win xp 系统
  • ttf文件安装到电脑
  • Win10 Mobile RedStone预览版14283更新内容汇总
  • unity开发游戏教程
  • html手机号验证
  • dom教程
  • 安卓手机微信取消窗口化
  • Python类的继承动物类
  • node.js使用教程
  • android 属性动画原理
  • js获取上传文件的大小
  • javascript基础入门视频教程
  • jquery mobile 加载页面
  • 税务总局机关
  • 车辆购置税查询不到
  • 电子低保证书在哪找
  • 全国增值税发票查验平台官网手机
  • 林则徐家训带来的启示
  • 人社局要求社保补缴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设