常用内存数据库介绍(七) - titan - JavaEye技术网站
来源:百度文库 编辑:神马文学网 时间:2024/04/25 22:22:08
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、和1000、50000条数据,然后执行一系列的测试
l 100w条级别的测试:先分别插入到employee表、department表、alary表中1000000、和1000、1000000条数据,然后执行一系列的测试
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. 无索引情况下速度较慢,与数据库的数据量成正比;
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、和1000、50000条数据,然后执行一系列的测试
l 100w条级别的测试:先分别插入到employee表、department表、alary表中1000000、和1000、1000000条数据,然后执行一系列的测试
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. 无索引情况下速度较慢,与数据库的数据量成正比;
常用内存数据库介绍(七) - titan - JavaEye技术网站
常用内存数据库介绍(一) - titan - JavaEye技术网站
常用内存数据库介绍(二) - titan - JavaEye技术网站
常用内存数据库介绍(四) - titan - JavaEye技术网站
常用内存数据库介绍(五) - titan - JavaEye技术网站
常用内存数据库介绍(六) - titan - JavaEye技术网站
常用内存数据库介绍(八) - titan - JavaEye技术网站
常用内存数据库介绍(七)
常用内存数据库介绍
常用内存数据库介绍(四)
常用内存数据库介绍(五)
常用内存数据库介绍(六)
常用内存数据库介绍(八)
常用内存数据库介绍(一)
常用内存数据库介绍(二)
常用内存数据库介绍(三)
国内SNS恶之花(ZZ) - Titan的天空 - JavaEye技术网站
探查内存不足(内存泄露)问题 - zhaonjtu - JavaEye技术网站
Python 数据库开发 - 天生我材必有用,千金散尽还复来 - JavaEye技术网站
Android的MediaPlayer架构介绍 - 狂徒的 - JavaEye技术网站
Spring Batch 1. 介绍 - 而立未立 - JavaEye技术网站
卡布奇诺 - JavaEye技术网站
linux进程通信(一)--共享内存+信号量 - - JavaEye技术网站
改善SQL Server内存管理 - 异度空间 - JavaEye技术网站