结论和建议
SQLite和H2内存数据库都比较快。
u 查询性能:查询一条记录 SQLite的性能要优于H2。查询(5000或10000)条 H2的性能要好于SQLite。
u 插入性能:性能差不多快,SQLite略快。
u 更新性能:更新一条记录 SQLite的性能好于H2。更新多条记录(有索引),SQLite【0.04s】的性能要好于H2【0.18s】
u 删除性能:删除一条记录.SQLite【非常小】的性能略好于H2【非常小】。删除多条记录,SQLite【0.078s】好于H2的【0.12s】
u 启动时间:都比较快
u 并发性能:H2的查询支持一定的并发性,要强于SQLite。更新和插入,基本上都没有并发可言。
总的看来,SQLite的性能要好于H2,但并发性不如。
另外SQLite一般使用C的API接口访问,而H2支持JDBC。
并且都可以大多数主流平台上
对于C\C++\C#应用而言,使用SQLite是更好的选择。对于Java应用,H2是不错的选择。
奇怪的两点:
1. 在无索引查询单条数据,SQLite的性能【0.375s】要比H2【6.9s】要快非常多。(原因发现是H2使用Big Long效率差了好多,比起Int)
2. 在无索引查询多条数据,SQLite的性能甚至比有索引时还好快一些????。而有索引情况下H2查询多条数据也好于SQLite
分享到:
相关推荐
常用内存数据库介绍常用内存数据库介绍
常用内存数据库介绍
常用内存数据库介绍.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函数实现内存微型数据库。易语言内存微型数据库源码可临时保存数据。