常用内存数据库介绍(四)

2023-11-10

 4.5           H2 Database

       h2Thomas Mueller提供的一个开源的、纯java实现的关系数据库,官方网站:http://www.h2database.com/html/main.html

       它的主要特性是:

  • 非常速的数据库引擎
  • 开源、免费数据库
  • 支持 JDBCODBC API,支持SQL
  • 支持嵌入式,服务器和集群模式。支持内存数据库。
  • 提供基于浏览器的管理控制台
  • 整个应用本身只有1MB左右。

其他特性还包括

  • 基于磁盘或内存的数据库、表,支持只读数据库、临时表。
  • 两段式事务支持
  • 支持多个连接。表级别的锁。
  • 基于成本的优化,为复杂查询使用遗传算法,零管理。
  • 滚动的、可修改的result set支持。支持大结果集、外部结果排序。
  • 加密数据库(AESXTEA,SHA-256密码加密。

性能比较(摘自h2database网站)

嵌入模式下H2的性能比较

Test Case

Unit

H2

HSQLDB

Derby

Simple: Init

ms

610

657

3187

Simple: Query (random)

ms

297

312

1828

Simple: Query (sequential)

ms

203

266

1766

Simple: Update (random)

ms

1078

1484

22031

Simple: Delete (sequential)

ms

234

281

7407

Simple: Memory Usage

MB

6

7

11

BenchA: Init

ms

859

438

4047

BenchA: Transactions

ms

5266

2875

17500

BenchA: Memory Usage

MB

9

14

10

BenchB: Init

ms

4016

2687

16875

BenchB: Transactions

ms

2609

3282

4250

BenchB: Memory Usage

MB

9

10

8

BenchC: Init

ms

891

594

5766

BenchC: Transactions

ms

4359

75438

11718

BenchC: Memory Usage

MB

9

18

9

Executed statements

#

594255

594255

594255

Total time

ms

20422

88314

96375

Statements per second

#

29098

6728

6166

.Net使用H2
  •  
    1. 嵌入式应用。有一个项目在为.Net使用H2,使用CLI重新编译H2。还没有深入关注。
    2. ODBC。但性能一般。

4.5           其他内存数据库

包括Derby, HSQLDB

(JavaEye对字数的限制,请见下一章 5 内存数据库之比较)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用内存数据库介绍(四) 的相关文章

  • 配置错误。连接到数据库时未找到类 [org.apache.derby.jdbc.EmbeddedDriver]

    我正在使用命令mvn exec java运行我的应用程序cmd 我的 Persistence xml 属性是
  • 在 Hibernate 中使用 LIKE %

    我该如何使用LIKE 处于休眠状态 我想使用 SQLLIKE in my hbm xml文件 我有 2 个查询 我正在将其合并为 1 个 查询如下所示 select from PAY GROUP VW where CASE SID AND
  • 对数据库的故障转移支持

    我们目前正在评估不同数据库中的故障转移支持 我们之前使用过 HSQLDB 但它似乎没有集群 复制支持 我们的要求只是拥有两台数据库服务器 其中一台仅用于同步备份 但如果主服务器发生故障 则辅助服务器应自动开始充当主服务器 有没有人针对这样的
  • 以编程方式配置带有嵌入式 tomcat 7 的 hibernate

    我正在尝试在我的应用程序中配置嵌入式 tomcat 实例 而无需任何配置文件 我做了一些研究并以此为基础长教程 http www ehow com how 7999843 stepbystep hibernate tomcat mysql
  • HSQLDB ROWNUM 与 Oracle 的兼容性

    THe HSQLDB 变更日志 http hsqldb org doc 2 0 changelist 2 0 txt指出ROWNUM 被添加到v2 2 0在针对内存 HSQLDB 运行集成测试时 我使用它没有任何问题 但是 我想对真实的 O
  • Apache Derby - java.sql.SQLException:无法启动数据库

    首先 这是我第一次使用 Apache Derby 我正在使用 netbeans 愿意使用嵌入式 apache derby 并且我按照以下教程配置和安装数据库 然后 我使用项目属性将 derby jar 文件附加到我的项目中 http net
  • 锂电池管理系统(BMS)

    引言 在现代科技的推动下 锂电池已经成为各种电动设备和能源存储系统的首选能源媒介 然而 锂电池在充电和放电过程中存在一系列潜在的安全隐患 同时其性能和寿命也受到一些限制 为了解决这些问题 锂电池管理系统 BMS 应运而生 BMS不仅仅是一个
  • 级联类型.ALL 不起作用

    我已在实体关系中设置了 CascadeType ALL 但每当我保留实体时 它都会部分起作用 前任 会员实体 OneToMany mappedBy member cascade CascadeType ALL private List
  • Hibernate增量起始数

    我正在使用 hibernate 将实体保存到我的数据库中 目前它是 derby DB 但我很快就会将其转移到 Oracle DB 在我的 classname hbm xml 中 我将 id 定义如下
  • 如何在 Hibernate 单元测试中忽略某些字段

    我的实体模型中有以下字段 Column name key ColumnTransformer read AES DECRYPT key SHA1 passcode write AES ENCRYPT SHA1 passcode privat
  • 如何创建“递归sql”

    我想建立 链接 例如 我有 5 个帖子 id 1 id 2 id 3 id 4 id 5 他们有一个序列 id 1 nextId 2 id 2 nextId 4 id 3 下一个Id 0 id 4 nextId 3 id 5 nextId
  • 在 HSQLDB 2.0.0-rc8 中选择下一个序列值的“正确”方法

    假设我有一个序列 称为 TEST SEQ 选择下一个值的正确方法是什么 这不起作用 select next value for TEST SEQ 可能是因为它需要一个 FROM 子句 在休眠中查看 HSQLDialect getSequen
  • 我们如何在java中关闭hsqldb数据库

    我使用 hsqldb 作为我的数据库 我希望每当我的选择查询 更新查询执行时它都会关闭数据库 下面是我需要一个代码来手动关闭数据库的方法 private void insertInitData BasicDataSource dataSou
  • 在嵌入式 HSQL 数据库中创建架构的最佳方法

    我目前正在使用以下设置在嵌入式数据库中创建一个架构 然后再针对它运行测试 在我的应用程序上下文中
  • HSQLDB / Spring 单元测试不回滚

    我正在使用 Spring 的嵌入式数据库 默认数据库是 HSQLDB 来运行一些单元测试 我的情况如下
  • HSQLDB服务器模式用户名/密码

    如果我使用 Java 代码在服务器模式下启动 HSQLDB 则服务器启动不会出现任何问题 但是 当我尝试通过 Java 代码或通过 HSQLDB DatabaseManagerSwing 连接到相同的数据库时 我无法连接 我在仅内存模式下使
  • 无法使用 JPA 获取与数据库的连接 - 缺少 derby 嵌入式驱动程序类

    我正在尝试使用 jpa 创建本地 derby 数据库 作为 JPA 实现 我使用 openjpa 并作为 sql 实现 derby 这是 persistence xml
  • HSQL 序列的语法问题:“NEXTVAL”而不是“NEXT VALUE”

    我在 Jetty 服务器上部署了 Web 应用程序 并连接到位于 HSQLDB 服务器上的 HSQLDB 数据库 当我尝试创建实体时出现此错误 错误 org hibernate util JDBCExceptionReporter 意外的标
  • 如何在Python 2.7中访问ODB文件

    我想在 Python 中访问 ODB 文件 使用 LibreOffice Base 创建 并提取一个表以供进一步使用 ODB包含多个表 一种关系设计和多种表单 是否可以在不使用任何 SQL 的情况下实现这一目标 Edit 由于我自己解析这种
  • IF EXISTS 在德比中未被识别

    DROP TABLE IF EXISTS Pose 结果出现错误 Error code 1 SQL state 42X01 Syntax error Encountered EXISTS at line 1 column 15 我使用默认的

随机推荐

  • 总结: C++ 中如何把输出结果写入到文件中

    文是我在网上搜到额一些经验汇总 C 把输出结果写入到文件中 文件 I O 在C 中比烤蛋糕简单多了 在这篇文章里 我会详细解释ASCII和二进制文件的输入输出的每个细节 值得注意的是 所有这些都是用C 完成的 一 ASCII 输出 为了使用
  • vue实战之Filter传入多个参数

    文章目录 前言 一 Filter多参数 1 创建全局过滤器 2 引用实现 总结 前言 vue过滤器Filter用于格式化文本 即我们日常的为数字添加 或 符号等简单操作 但在现实场景中除了 往往会有略微复杂的情况出现 如 给多个不同的循环表
  • batch normalization详解

    1 引入BN的原因 1 加快模型的收敛速度 2 在一定程度上缓解了深度网络中的 梯度弥散 问题 从而使得训练深层网络模型更加容易和稳定 3 对每一批数据进行归一化 这个数据是可以输入也可以是网络中间的某一层输出 4 网络一旦train起来
  • 改变单选按钮radio圆点的颜色

    2019独角兽企业重金招聘Python工程师标准 gt gt gt
  • 实例化和初始化的区别

    一 实例化和初始化的区别 实例化 只是单纯的把对象 new 一下就行了 例 Student st new Student 这样就行了 初始化 是在实例化之后完成的 先实例化对象 只给对象属性赋值 然后初始化这个对象
  • mybatis拦截器使用及原理

    使用拦截器 Web开发中我们经常会碰到分页操作 一个项目中或许有多处使用到分页 这时如果Java后台使用MyBatis作为持久层 我们就可以使用MyBatis的拦截器功能来完成整个项目中多处的分页操作 减少代码的冗余 拦截器代码 拦截Sta
  • modbus 协议编程 C++

    MODBUS通讯协议及编程 ModBus通讯协议分为RTU协议和ASCII协议 我公司的多种仪表都采用ModBus RTU通讯协议 如 CH2000智能电力监测仪 CH2000M电力参数采集模块 巡检表 数显表 光柱数显表等 下面就ModB
  • FastDFS分布文件系统Java客户端使用

    原文链接 http blog csdn net xyang81 article details 52847311 FastDFS分布式文件系统服务安装和使用请参考上一篇文章 FastDFS分布式文件系统安装与使用 单节点 担建环境 官网Ja
  • [1177]Hive 窗口函数之lead() over(partition by ) 和 lag() over(partition by )

    lag over 与 lead over 函数是跟偏移量相关的两个分析函数 通过这两个函数可以在一次查询中取出同一字段的前 N 行的数据 lag 和后 N 行的数据 lead 作为独立的列 从而更方便地进行进行数据过滤 这种操作可以代替表的
  • QT Event机制测试程序

    QT Event机制测试程序 代码 https github com pengrui2009 QEventTest 这里我们测试QKeyPress时间 在主窗口放置一个QLineEdit控件 并提升为MyLineEdit 新建MyLineE
  • DVWA通关教程

    1 首先先把难度调为low 进行brute force 首先审计代码
  • java中Long类型数据必须转化为int才能正确比较

    java中如果有Long类型数据需要比较判断时 必须转化为int才能正确比较 例如 Long long1 Long parseLong 1012 Long long2 Long parseLong 1012 if long1 long2 结
  • HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to baobab.kaiyanapp.com not

    问题 HTTP FAILED java net UnknownServiceException CLEARTEXT communication to baobab kaiyanapp com not permitted by network
  • 配置PDB符号文件服务

    配置PDB符号文件服务器的想法 刚入职的小木 前不久刚刚解决了一次crash问题 Windbg分析程序崩溃实践 小木没有松懈 继续进行项目代码和Debug技术的学习 同时也思考了一个问题 产品每隔一段时间就会发布新的版本 当出现Crash问
  • 利用Python实现一组数的最大公约数

    我先用求三个整数的最大公约数为例 首先利用for循环来进行判断这三个整数可以被那些数整除 代码如下 x y z eval input 请输入三个整数 用逗号隔开 ma max x y z ls for i in range 2 ma a x
  • 【MQTT】MQTT协议学习

    文章目录 MQTT协议 简述 特点 MQTT消息的QoS 服务质量 MQTT支持三种QoS等级 协议实现方式 MQTT协议数据包 控制报文 结构 MQTT固定头 MQTT数据包类型 标识位 剩余长度 Remaining Length MQT
  • Sqlserver 监控使用磁盘空间情况

    最近遇到一个小问题 为了保存以往的一些数据 间了大量临时表 导致SQLserver 数据增长过快 不得不想个办法监控磁盘空间使用情况 网上一般有几种办法 一是使用 dm os volume stats函数 缺点是 无法获取非数据库所在的磁盘
  • Service Bus Namespace 和 Access Control

    Service Bus Namespace 和 Access Control Service Bus Namespace简述 https yourapp servicebus windows net foo bar baz 就是一个name
  • 【必看】时序逻辑仿真成组合逻辑?你知道原因吗?

    对于初学者 一般会遇到这种情况 明明写的时序逻辑 结果仿真结果却是组合逻辑 然后看遍设计代码 始终找不到原因 交流群 知乎这种问题随处可见 但不要怀疑软件问题 modelsim这些专用软件基本不会遇见软件自身问题 原因其实很简单 因为多数人
  • 常用内存数据库介绍(四)

    4 5 H2 Database h2是Thomas Mueller提供的一个开源的 纯java实现的关系数据库 官方网站 http www h2database com html main html 它的主要特性是 非常速的数据库引擎 开源