如何实现数据库并发 *** 作 delphi

如何实现数据库并发 *** 作 delphi,第1张

可以直接使用sqlserver的ssis包,直接数据库之间打交道,使用也很方便,还可以把这个建好的ssis包挂载到sqlserver 代理中,数据库就可以自动定时去执行这个ssis包进行同步 *** 作了

分2分情况:

一普通的单应用并发,使用关键字synchronized就可以实现。

二多应用或多台并发,这时在由于2者并非同一应用,使用synchronized并不能满足要求。此时,有下面几种方案:

数据库行级锁,优点是简单粗暴,缺点是容易死锁,非数据库专业人事建议不使用。

写入请求分离成一个独立项目,这就回到了第一种情况,优点是实现技术难度低,缺点是高并发性能相对不是很高。

使用分布式事务管理,这个是目前高并发处理的最优方案了。

最后要说的没有差的方案,每个方案都有其适用环境,请根据自身需求选择对应方案。

数据库的并发控制

并发控制带来的三类问题

(1)丢失更新的问题

(2)不一致分析问题

(3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)

以上三类问题结合多事务的并行 *** 作进行理解。

举例

[例题] 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0

T1:R:=R+5

T2:R:=R3

T3:R:=2

若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?

答:有6种可能的情况

(1)T1-T2-T3: R=2

(2)T1-T3-T2: R=6

(3)T2-T1-T3: R=2

(4)T2-T3-T1: R=7

(5)T3-T1-T2: R=21

(6)T3-T2-T1: R=11

采用封锁,可以解决并行调度的不一致问题。

为解决并发控制带来的问题,通常要采用封锁(locking)技术,常用的封锁有:排它型封锁(X封锁)和共享型封锁(S封锁)两种。

并发控制中,有许多概念都要掌握:封锁,X封锁,S封锁,PX协议,PXC协议,PS协议,PSC协议,活锁,死锁,可串行化调度,不可串行化调度,两段封锁协议

以上就是关于如何实现数据库并发 *** 作 delphi全部的内容,包括:如何实现数据库并发 *** 作 delphi、javaweb如何处理并发更新数据库eOm、《数据库原理》知识点之数据库的并发控制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9797858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存