|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。数据|数据库
关于事件的断绝性
比方:统计订单体系中事件举动以下
1.事件T1打印订单表中的纪录
2.T2向订单表拔出了新的订单,T2提交
3.事件T1统计订单表中的的纪录总数,T1提交
由于事件T2在T1停止前向订单表中拔出了新的纪录,招致事件T1打印的订单纪录数目和T1统计的订单数目纷歧致.
发生并发非常成绩的次要缘故原由是并发操纵损坏了事件的断绝性,招致数据纷歧致.怎样使一个事件不遭到别的事件的搅扰,包管数据分歧性???
完全的例子代码,在线守候,感谢人人的体贴:)
事件
事件是作为单个逻辑事情单位实行的一系列操纵。一个逻辑事情单位必需有四个属性,称为ACID(原子性、分歧性、断绝性和耐久性)属性,只要如许才干成为一个事件:
原子性
事件必需是原子事情单位;关于其数据修正,要末全都实行,要末全都不实行。
分歧性
事件在完成时,必需使一切的数据都坚持分歧形态。在相干数据库中,一切划定规矩都必需使用于事件的修正,以坚持一切数据的完全性。
事件停止时,一切的外部数据布局(如B树索引或双向链表)都必需是准确的。
断绝性
由并发事件所作的修正必需与任何别的并发事件所作的修正断绝。事件检察数据时数据所处的形态,要末是另外一并发事件修正它之前的形态,
要末是另外一事件修正它以后的形态,事件不会检察两头形态的数据。这称为可串行性,由于它可以从头装载肇端数据,而且重播一系列事件,
以使数据停止时的形态与原始事件实行的形态不异。
耐久性
事件完成以后,它关于体系的影响是永世性的。该修正即便呈现体系妨碍也将一向坚持。
指定和强迫事件处置
SQL程序员要卖力启动和停止事件,同时强迫坚持数据的逻辑分歧性。程序员必需界说数据修正的按次,使数据相对其构造的营业划定规矩坚持
分歧。然后,程序员将这些修正语句包含到一个事件中,使Microsoft |
|