|
|
为什么我觉得UNDO问题很容易解决? 我一直这样认为。 事实上DB2,SQLSERVER都已经实现了,又如楼上朋友说MYSQL innodb也早实现了。 这就证明这个问题其实不难。
ORACLE通过单独的UNDO表空间来保存事务回滚,而DB2采用没有COMMIT的数据是不能归档的,不能归档,自然就可以回滚,仅仅是设计风格不一样。这也是为什么DB2要求开发尽量快的COMMIT,而ORACLE却觉得不停的COMMIT影响了性能。如果要说DB2设计不好,那么ORACLE UNDO也有被撑爆的时候。
只能这样说,因为UNDO的引入,ORACLE实现了很多附加功能,诸如典型的就是flashback,但是DB2在恢复的时候可以断点恢复,我的意思是,如果你删除了一个表,用昨天的备份恢复,可以恢复到删除表之前的数据,然后继续恢复删除表之后的数据。唯独删除表的那个事务不恢复。
所以ORACLE所谓的优势根本就不存在,很多人一直掐着UNDO。 事实上大机上跑数据库,ORACLE根本不是DB2对手。 大家实在太迷恋ORACLE了。 |
|