近日参加达梦大学组织的DCA培训,因为生产系统现在都用国产达梦数据库,出于对达梦数据库性能好奇,对比oracle11g 做了一个简单的性能测试,测试过程及内容和大家分享下,目前成产系统运用dm7,便以dm7做测试。
1、测试环境
1.1 硬件环境
笔记本一台,虚拟机三台。
1.2 软件环境
操作系统版本:RedHat Enterprise Linux 6.9
数据库版本:DM Database Server x64 V7.6.0.77-Build(2018.05.25-92657)ENT
1.3 环境配置
2 测试大纲
每项测试内容分若干项测试功能,每个测试分项包括测试项目、测试目的、测试方法及预期结果、测试记录、测试结论五项内容。
每个测试分项的“测试记录”一栏中做好测试过程的记录,在“测试结 论”一栏中填写测试结果。测试结果表示方式:
OK:测试结果全部正确
POK:测试结果大部分正确
NG:测试结果有较大的错误
NT:由于各种原因本次无法测试
2.1 达梦数据库可靠性测试
2.2 数据库读写性能测试
2.3 达梦数据库写库效率测试及对比
准备数据表进行插入测试,每次插入一万条进行一次提交操作。
CREATE TABLE "WDS"."RTSQ"
(
"SENID" NUMBER NOT NULL,
"TIME" TIMESTAMP(0) NOT NULL,
"IFCH" NUMBER,
"FACTV" NUMBER(11,3),
"CYCLE" NUMBER,
"STATE" NUMBER,
"TS" NUMBER,
"DQ" NUMBER DEFAULT 0 NOT NULL,
CONSTRAINT "PK_RTSQ_NEW" NOT CLUSTER PRIMARY KEY("SENID", "TIME"));
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2.3.1 达梦数据库初始测试
数据库存量数据为6806万时,对插入性能进行测试:
测试结论:
插入1000万条数据,每100万条提交一次,耗时与插入的记录数成正比线性关系,平均每分钟写入的记录数稳定在600万条左右。
2.3.2 达梦数据库与oracle11g数据库测试对比
测试结论:
达梦7的写入性能优于oracle11g数据库。
3、达梦数据库sql查询几个小时前的数据
如:在oraclc 数据库中查询hourdb表当前时间下3小时以前的数据,可查得结果。
select * from hourdb where time>sysdate-3/24 and senid=11602000002 order by time desc
但直接放在达梦数据库中执行此sql将查询不到任何数据,需在小时后面加“.”,如下:
select * from hourdb where time>sysdate-3/24. and senid=11602000002 order by time desc
可查询hourdb表当前时间下3小时以前的数据。
4、总结
参加此次达梦DCA培训,收获很多知识,在实际的生产环境中的应用,也显示达梦数据库的部分性能不属于同类国外数据库,希望在以后的生产应用中,能get到不同的点同大家一起分享,一起学习国产达梦数据库。