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. 无索引情况下速度较慢,与数据库的数据量成正比;
分享到:
相关推荐
常用内存数据库介绍常用内存数据库介绍
常用内存数据库介绍
常用内存数据库介绍.pdf
什么是内存数据库,常用内存数据库,SQLite最佳试用场合,哪些场合适合使用其他的关系型数据库,内存数据库之比较,性能测试
JAVA常用开源内存数据库比较。让你能很轻松地在众多内存数据库中做出最好选择!
实现词法分析和语法分析的内存小容量数据库,主要用于学习编译原理
IT资料 常用软件 内存数据库 jar包
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递":memory:",如: ...
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如: ...
Informix数据库服务器提供了...onmode 改变方式和共享内存 onparams 修改日志配置参数 onspaces 修改blobspace或Dbspace onstat 监控的运行 ontape 日志登录,archive创建和数据重装 onunload 以页为单位传送二进制数据
一、内存数据库: 在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如: ...
h2原版英文资料!h2是基于java的内存数据库,pdf主要是h2数据库功能介绍和说明,常用命令行用法,通脚本操作数据库!备份恢复说明!数据库升级
SQL Server 的.NET 数据... 使用SqlDataAdapter,可以填充驻留在内存中的DataSet可用于查询和更新数据库。本文档包括了常用的数据库接口类,所有字段的说明和示例代码,一份文档足以让你掌握Ado.Net的常用编程技巧。
个人搜集的包括了3大主流数据库的入门介绍,编程指南,常用sql集合等多方面内容。
(7)Aerospike:Aerospike数据库是⼀个键值存储,⽀持混合内存架构,通过强⼀致性和可调⼀致性保证数据的完整性。 3、⽂档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下⾯简单介绍⼏个 (1)...
单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库...
v$lock:查看当前数据库中锁的信息 v$mem_pool:显⽰所有的内存池信息 V$deadlock_histor::记录死锁的历史信息 V$TABLESPACE:显⽰表空间信息,不包括回滚表空间信息 V$TRX:显⽰所有活动事务的信息。通过该视图...
源码通过置入汇编代码并调用一些常用的API函数实现内存微型数据库。易语言内存微型数据库源码可临时保存数据。