多线程多进程数据库访问应注意问题

多线程多进程数据库访问应注意问题:

事务在执行时不知道其他事务的存在,无论是多Connection或是单

Connection。

1、Select 语句不需要显示的用 BeginTrans 声明事务。如果显示的进

行了声明则会给数据库加入共享锁,接下来如果是Update语句,在多线

程,多进程中数据库很可能会产生死锁现象。

2、显示声明的事务时,事务内的处理应尽量少,只将必须的操作放入事

务中,尽量不要嵌套事务或在事务中进行Select查询。加锁时间越短数

据库的并发性越高。

3、单独的Update语句是一个隐示的事务,不需要显示的声明事务。(与

数据库的设置有关,SQL默认为隐示事务自动提交)

4、事务中如果需要先进行Select操作再进行Update操作时,尽量给

Select加入参数,在Select操作时将数据库的行或页或表锁定。

5、事务中尽量保持锁表语句顺序进行保持一致。如果发生锁升级时互锁

,后面的事务会成为牺牲品。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值