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. 无索引情况下速度较慢,与数据库的数据量成正比;
分享到:
相关推荐
内存数据库简介 内存数据库是一种将整个数据库存储在计算机的主存中,以提高数据库的性能和响应速度的技术。传统的数据库管理系统将所有数据存储在磁盘上,称为磁盘数据库(DRDB:Disk-Resident Database)。磁盘...
下面,我们将深入探讨几种常用的内存数据库,包括它们的特点、应用场景以及为何它们能够在现代数据处理环境中占据一席之地。 ### 1. **Redis** Redis(Remote Dictionary Server)是最受欢迎的内存数据库之一,它...
常用内存数据库的比较 内存数据库是一种新型的数据库管理系统,它将整个数据库放入内存中,以提高数据库的性能和响应速度。与传统的磁盘数据库相比,内存数据库具有很多优势,如快速的数据访问速度、低延迟、低成本...
常用内存数据库介绍.pdf
内存数据库是一种将数据存储在内存中的数据库系统,其主要特点是高速读写性能,适用于需要快速响应和处理大量数据的应用场景。在JAVA开发中,有很多开源的内存数据库可以选择,本篇文章将对比分析这些数据库的特点、...
实现词法分析和语法分析的内存小容量数据库,主要用于学习编译原理
内存数据库是现代信息技术领域中的一个重要概念,特别是在实时交易系统中,它扮演着催化剂的角色,显著提高了数据处理的速度和效率。本文将深入探讨内存数据库的基本原理、优势、应用场景以及与实时交易系统的结合。...
哈希表是内存数据库中常用的一种数据结构,它在Linux环境下扮演着关键角色。 哈希表,又称散列表,是通过哈希函数将数据映射到一个固定大小的数组中。这个函数能够将任意长度的输入(如字符串)转化为固定长度的...
描述提到的“排序的列表的基类一种实时内存数据库组织与管理方法”,意味着文件内容可能涉及一种特定的数据结构——排序列表,这是内存数据库中常用的数据组织方式,用于快速查找、插入和删除数据。排序列表通常基于...
1. 数据映射:内存数据库会将常用数据表全部映射到主机共享内存中,同时为关键字段建立内存索引,以加速查询。 2. API接口:应用程序通过调用特定的内存数据库API,直接访问内存中的数据,而不是直接操作物理数据库...
此外,对于源码和工具部分,文章可能还涵盖了开源内存数据库如Redis、Memcached等的简要分析,或者介绍了如何构建一个简单的内存数据库系统,包括数据结构的选择(如哈希表、B树等)和API设计等。 在本科班课程项目...
- `ALTER SYSTEM`:调整数据库系统的参数,例如修改内存分配、日志文件位置等。 - `STARTUP/SHUTDOWN`:启动或关闭数据库实例。 2. **用户管理**: - `CREATE USER`:创建新的数据库用户。 - `GRANT/REVOKE`:...
Hash索引是数据库系统中一种常用的索引技术,尤其适合于内存数据库。它利用哈希函数将数据的键(key)转化为内存地址,使得数据的查找、插入和删除操作能在常数时间内完成,极大地提高了数据访问效率。Hash索引的...
作为一个内存数据库,它的主要特点是数据存取速度快,支持多种数据结构,且提供了丰富的持久化策略。在Java开发中,Redis的使用非常常见,能够显著提升应用程序的响应速度和整体性能。 1. 数据结构: Redis支持...
IT资料 常用软件 内存数据库 jar包
在VC++中,你可以通过传递`:memory:`作为数据库路径来创建内存数据库。CSqlite类可能提供一个`OpenInMemoryDatabase()`方法,调用此方法将创建一个只存在于内存中的数据库实例。 3. **临时数据库**: 临时数据库...
【内存数据库在互联网余票查询中的应用】 随着互联网售票系统的普及,越来越多的旅客选择在线购票,这使得系统在高峰期承受巨大的并发请求压力。其中,余票查询作为关键功能,其性能直接影响用户体验。传统的磁盘...
【高性能模糊检索的内存数据库EMS】是一个专注于提供高效模糊查询能力的内存数据库系统。它针对大规模数据集,尤其是在需要快速响应复杂查询需求的场景下,展现出优越的性能。内存数据库因其将数据存储在内存中,...
下面我们将介绍一些常用的数据库维护 SQL 语句。 一、查询 SQL 的资源消耗情况 在数据库中,SQL 语句的执行会消耗一定的资源,包括 CPU、内存、I/O 等。为了了解 SQL 语句的资源消耗情况,我们可以使用以下 SQL ...