posts - 311, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

(搬运工)常用内存数据库介绍(七)

Posted on 2012-07-20 16:58 点点滴滴 阅读(294) 评论(0)  编辑 收藏 引用 所属分类: 10 服务器

6.2           H2测试方案

6.2.1   测试环境

       主机:    操作系统:    Windows Server 2003 Enterprise Edition SP2;

CPU    Intel Dual-Core 2.5GHz;

内存:    3.99GB内存

       测试目标版本:H2database 1.1.110

6.2.2   测试数据

测试数据库表employee结构如下

字段名

类型

ID(PK)

Integer

Name

Varchar(20)

Age

Varchar(20)

departmentID

Varchar(20)

 

测试数据库表department结构如下

字段名

类型

DeptID(PK)

Integer

Dept

Varchar(20)

mangerID

Integer

 

测试数据库表salary结构如下

字段名

类型

ID(PK)

Integer

F1

varchar(255)

F2

varchar(255)

F3

varchar(255)

F4

varchar(255)

F5

varchar(255)

F6

varchar(255)

F7

varchar(255)

F8

varchar(255)

F9

int

 

6.2.2   测试过程

使用Java编写了测试工程,启动测试程序后:

l         50000条级别的测试:先分别插入到employee表、department表、alary表中50000、和100050000条数据,然后执行一系列的测试

l         100w条级别的测试:先分别插入到employee表、department表、alary表中1000000、和10001000000条数据,然后执行一系列的测试

 

6.2.3   测试结果

 

用例名
【单位:秒( s )】

10w(条)

100w(条)

100w(条)10个并发线程

初始插入时间

5.43

50.47

 

初始插入内存 (KB)

12376

12834

 

插入1条记录

0

0

 

插入5000条记录

0.4

0.39

2.95

查询1条记录(有索引)

0

0

 

查询1条记录(无索引)

0.71

6.95

 

查询5000条记录(有索引)

0.015

0.1

0.7

查询1*5000条记录(有索引)

 

0.23

1.26

查询5000条记录(无索引)

0.73

7.2

 

查询全部记录

0.86

8.35

 

多表查询1条记录

0

0

 

多表查询5000条记录

0.016

0.016

 

更新1条记录(有索引)

0

0

 

更新1条记录(无索引)

0.45

4.62

 

更新5000条记录(有索引)

0.16

0.18

2

更新1*5000条记录(有索引)

 

0.15

1.7

更新5000条记录(无索引)

0.62

5.1

 

删除1条记录(有索引)

0

0

 

删除1条记录(无索引)

0.68

6.6

 

删除5000条记录(有索引)

0.1

0.12

1.1

删除1*5000条记录(有索引)

 

0.13

0.9

删除5000条记录(无索引)

0.77

6.95

 

嵌套查询(分组统计Group by)

0.77

7.55

 

启动时间

0.11

0.2

 

测试结论:

 

       优点:

1.       数据库小巧灵活;

2.       支持JDBC,对SQL支持良好,并支持内存模式;

3.       占用系统资源较少,启动较快;

4.       数据库支持并发访问;

5.       索引查询更新速度快;

 

缺点:

1.       大数量访问优势不明显,与常用数据库基本一致;

2.       无索引情况下速度较慢,与数据库的数据量成正比;