6.2 H2測試方案
6.2.1 測試環(huán)境
主機(jī): 操作系統(tǒng): Windows Server 2003 Enterprise Edition SP2;
CPU: Intel Dual-Core 2.5GHz;
內(nèi)存: 3.99GB內(nèi)存
測試目標(biāo)版本:H2database 1.1.110
6.2.2 測試數(shù)據(jù)
測試數(shù)據(jù)庫表employee結(jié)構(gòu)如下
字段名
|
類型
|
ID(PK)
|
Integer
|
Name
|
Varchar(20)
|
Age
|
Varchar(20)
|
departmentID
|
Varchar(20)
|
測試數(shù)據(jù)庫表department結(jié)構(gòu)如下
字段名
|
類型
|
DeptID(PK)
|
Integer
|
Dept
|
Varchar(20)
|
mangerID
|
Integer
|
測試數(shù)據(jù)庫表salary結(jié)構(gòu)如下
字段名
|
類型
|
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條數(shù)據(jù),,然后執(zhí)行一系列的測試
l 100w條級別的測試:先分別插入到employee表、department表,、alary表中1000000,、和1000、1000000條數(shù)據(jù),,然后執(zhí)行一系列的測試
6.2.3 測試結(jié)果
用例名 【單位:秒( s )】
|
10w(條)
|
100w(條)
|
100w(條)10個并發(fā)線程
|
初始插入時間
|
5.43
|
50.47
|
|
初始插入內(nèi)存 (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
|
|
查詢?nèi)坑涗?/span>
|
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
|
|
嵌套查詢(分組統(tǒng)計Group by)
|
0.77
|
7.55
|
|
啟動時間
|
0.11
|
0.2
|
|
測試結(jié)論:
優(yōu)點:
1. 數(shù)據(jù)庫小巧靈活,;
2. 支持JDBC,對SQL支持良好,,并支持內(nèi)存模式;
3. 占用系統(tǒng)資源較少,,啟動較快,;
4. 數(shù)據(jù)庫支持并發(fā)訪問;
5. 索引查詢更新速度快,;
缺點:
1. 大數(shù)量訪問優(yōu)勢不明顯,,與常用數(shù)據(jù)庫基本一致;
2. 無索引情況下速度較慢,,與數(shù)據(jù)庫的數(shù)據(jù)量成正比,;