Oracle与SQL Server事件处理的对比-入门底子[Oracle防范]
本文“Oracle与SQL Server事件处理的对比-入门底子[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
事件处理是全部大型数据库产品的一个关键问题,各数据库厂商都在这个方面耗费了很大精神,差别的事件处理方法会招致数据库性能和功效上的宏大差别.
事件处理也是数据库管理员与数据库利用程序开辟人员必须深化理解的一个问题,对这个问题的忽视大概会招致利用程序逻辑错误以及效率低下.
下面我们针对Oracle及SQL Server这两种当前遍及利用的大型数据库产品,探究一下它们在事件处理方面的一些差别.如没有特别阐明,本文内容实用的数据库产品版本为Oracle9i及SQL Server 2000,此中的示例SQL语句,关于Oracle是在SQL*Plus中履行,而关于SQL Server 2000是在osql中履行.
一.事件的概念
事件可以看做是由对数据库的若干操作构成的一个单元,这些操作要末都完成,要末都撤消,从而保证数据满意一致性的要求.事件的一个典型例子是银行中的转帐操作,帐户A把一定数目的款项转到帐户B上,这个操作包含两个步骤,一个是从帐户A上把存款减去一定数目,二是在帐户B上把存款加上相同的数目.这两个步骤明显要末都完成,要末都撤消,不然银行就会受丧失.明显,这个转帐操作中的两个步骤就构成一个事件.
数据库中的事件还有以下ACID特点.
ACID辨别是四个英文单词的首写字母,这四个英文单词是Atomicity、Consistency、Isolation、Durability,辨别翻译为原子性、一致性、断绝性、长期性.
原子性:指事件中的操作,大概都完成,大概都撤消.
一致性:指事件中的操作保证数据库中的数据不会呈现逻辑上不一致的情形,一致性普通会隐含的包含在其他属性之中.
断绝性:指当前的事件与其他未完成的事件是断绝的.在差别的断绝级别下,事件的读取操作,可以得到的后果是差别的.
长期性:指对事件发出COMMIT号令后,即便这时发生系统弊端,事件的效果也被长期化了.与此相反的是,当在事件履行历程中,系统发生弊端,则事件的操作都被回滚,即数据库回到事件开始之前的状况.
对数据库中的数据改正都是在内存中完成的,这些改正的后果大概已经写到硬盘也大概没有写到硬盘,假如在操作历程中,发生断电或系统错误等弊端,数据库可以保证未完毕的事件对数据库的数据改正后果即便已经写入磁盘,在下次数据库启动后也会被全部撤消;而关于完毕的事件,即便其改正的后果还未写入磁盘,在数据库下次启动后会通过事件日记中的记录举行“重做”,即把丧失的数据改正后果重新生成,并写入磁盘,从而保证完毕事件对数据改正的永久化.这样也保证了事件中的操作要末全部完成,要末全部撤消.
以上是“Oracle与SQL Server事件处理的对比-入门底子[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |