最后测试一下删除与更新操作,批量删除20w数据用时530ms,更新单字段,用时4297ms:
SQL>delete from eygle;
delete from eygle;
200000 rows affected
time used: 530.098(ms) clock tick:1025037644.
SQL>rollback;
rollback;
time used: 591.067(ms) clock tick:1210472582.
SQL>UPDATE EYGLE SET NAME='EYGLE@2010';
UPDATE EYGLE SET NAME='EYGLE@2010';
200000 rows affected
time used: 4297.675(ms) clock tick:3718914483.
SQL>rollback;
rollback;
time used: 3810.759(ms) clock tick:744454156.
delete from eygle;
200000 rows affected
time used: 530.098(ms) clock tick:1025037644.
SQL>rollback;
rollback;
time used: 591.067(ms) clock tick:1210472582.
SQL>UPDATE EYGLE SET NAME='EYGLE@2010';
UPDATE EYGLE SET NAME='EYGLE@2010';
200000 rows affected
time used: 4297.675(ms) clock tick:3718914483.
SQL>rollback;
rollback;
time used: 3810.759(ms) clock tick:744454156.
对于Oracle来说,这两个数字分别是6080 ms 和 5890 ms:
SQL> delete from eygle;
已删除200000行。
已用时间: 00: 00: 06.08
SQL> rollback;
回退已完成。
已用时间: 00: 00: 02.66
SQL>
SQL> UPDATE EYGLE SET NAME='EYGLE@2010';
已更新200000行。
已用时间: 00: 00: 05.89
SQL> ROLLBACK;
回退已完成。
已用时间: 00: 00: 05.68
已删除200000行。
已用时间: 00: 00: 06.08
SQL> rollback;
回退已完成。
已用时间: 00: 00: 02.66
SQL>
SQL> UPDATE EYGLE SET NAME='EYGLE@2010';
已更新200000行。
已用时间: 00: 00: 05.89
SQL> ROLLBACK;
回退已完成。
已用时间: 00: 00: 05.68
通过简单的单用户DML操作测试,达梦数据库的性能是非常良好的。Oracle数据库的UNDO与REDO机制是其特有的关键特性,这些特性衍生出强大的关联数据库功能;而我们目前对达梦的两方面的实现还知之甚少,希望在后续的测试和研究中,能够对这两方面的技术加深理解,进一步领会和对比这两大数据库平台。
作者简介:盖国强,网名eygle。北京恩墨科技有限公司创始人。Oracle ACE Director(Oracle ACE总监),中国十大杰出数据库工程师之一(2006),ITPUB论坛Oracle管理版版主,ITPUB论坛超级版主,曾任ITPUB 微软技术版版主。《程序员》杂志特邀专家顾问。