WEB开发网
开发学院数据库Oracle Oracle数据库编写有效事务指导方针 阅读

Oracle数据库编写有效事务指导方针

 2009-01-15 13:09:55 来源:WEB开发网   
核心提示:在数据库设计过程中,数据库管理员一方面要想着如何提高数据的共享程度,Oracle数据库编写有效事务指导方针,另一方面,也需要考虑如何保护数据的安全性,若其他用户需要访问加锁的记录,则必须等待, 在Oracle数据库中,提供了一种被称为“事务”的控制机制

在数据库设计过程中,数据库管理员一方面要想着如何提高数据的共享程度,另一方面,也需要考虑如何保护数据的安全性。

在Oracle数据库中,提供了一种被称为“事务”的控制机制。通过事物,能够完成对数据有效安全的修改操作,使数据库中的数据达到一个数据一致的状态。举个简单的例子,现在有一个借书系统中设涉及到两张表,一张是图书库存表,一张是用户借书情况表。在用户借书的时候,数据库需要进行两个操作,一是从图书库存表中扣掉库存;另一个操作时在用户借书表中加入这个借书操作。数据库在操作时,往往是先扣减库存,然后再在用户借书情况表中加入借书纪录。假设用户在借书的时候,第一步操作成功,即已经从图书库存表中扣除了某书的库存;但是,在第二步时由于发现用户借的书已经超量或者发现用户的卡中还有罚款不能够借书时,借书就会不成功。若没有事务做控制的话,很明显图书库存就会不准。而在事务的管理下,当第二步不成功的话,第一步操作就会发生回滚。也就是说,事务可以把数据库的好几个操作步骤当作一个整体,当其中有某个操作没有成功的话,则所有操作都会发生回滚。Oracle数据库就是通过这种机制来保障数据的一致性问题。

但是,事务若编写的不好的话,则不但起不到应有的作用,还会大大降低数据库的性能。如在数据库事务执行时间比较长,就很有可能导致锁冲突,从而降低数据库的并发访问性能。所以,数据库管理员在编写事务时,还是需要遵守几个指导方针。

指导方针一:在事务中尽量使得访问的纪录最小。

在事务中,若执行Update等记录操作语句,数据库为了保障数据的一致性,会对其所访问的记录加锁,防止在同一时间内其他用户对其修改。此时,若其他用户需要访问加锁的记录,则必须等待。此时就会发生锁冲突。

1 2 3  下一页

Tags:Oracle 数据库 编写

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接