添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松、自容器、无配置、无独立服务的数据库环境,所有数据保存在一个文件里。当使用 MySQL 作为最终生产平台时,SQLite 是不可替代的开发环境解决方案。但真的没有其他兼容性更好的选择了吗?好吧,仅举几个原因:MySQL的兼容性和支持哈希索引,还不止这些!

当我们寻找 SQLite 的替代方案时,有两个可选,分别是 H2 和 MySQL Embeded 版本。下面重点介绍一下SQLite与H2的性能对比结果,希望对大家有所帮助。

轻量级数据库SQLite与H2性能比较:

查询性能 :查询一条记录 SQLite的性能要优于H2。查询(5000或10000)条 H2的性能要好于SQLite。

插入性能 :性能差不多快,SQLite略快。

更新性能 :更新一条记录 SQLite的性能好于H2。更新多条记录(有索引),SQLite【0.04s】的性能要好于H2【0.18s】

删除性能 :删除一条记录.SQLite【非常小】的性能略好于H2【非常小】。删除多条记录,SQLite【0.078s】好于H2的【0.12s】

启动时间 :都比较快

并发性能 :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。

通过上文中的介绍,相信大家现在对于SQLite和H2内存数据库这两种内存数据库已经有了很好的了解,这样就便于大家以后子啊工作中使用SQLite和H2内存数据库。

H2数据库的使用: http://www.h2database.com/

SQLite数据库教程(菜鸟教程): https://www.runoob.com/sqlite/sqlite-tutorial.html

对 PHP程序员来说, SQLite 可以快速的搭建 数据库 开发环境,提供轻松、自容器、无配置、无独立服务的 数据库 环境,所有数据保存在一对 PHP程序员来说, SQLite 可以快速的搭建 数据库 开发环境,提供轻松、自容器、无配置、无独立服务的 数据库 环境,所有数据保存在一个文件里。当使用 MySQL 作为最终生产平台时, SQLite 是不可替代的开发环境解决方案。但真的没有其他兼容性更好的选择了吗?好吧,仅举... 对 PHP程序员来说, SQLite 可以快速的搭建 数据库 开发环境,提供轻松、自容器、无配置、无独立服务的 数据库 环境,所有数据保存在一对 PHP程序员来说, SQLite 可以快速的搭建 数据库 开发环境,提供轻松、自容器、无配置、无独立服务的 数据库 环境,所有数据保存在一个文件里。当使用MySQL 作为最终生产平台时, SQLite 是不可替代的开发环境解决方案。但真的没有其他兼容性更好的选择了吗?好吧,仅举... 内存 数据库 ,顾名思义就是将数据放在内存中直接操作的 数据库 。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。 2013云计算架构师峰会课程资料下载 const db = new better . Database ( ":memory:" ) ; const db = new better . Database ( ) ; 从本地存储 const db = new better . Database ( "./path/to/ database .db" ) ; let db = new better . Database ( "./users/premium.db" ) ; Data = { H2 SQLite 都是 轻量级 的关系型 数据库 ,它们都具有以下特点:无需安装,可以直接使用,非常轻便。支持多种操作系统。数据存储在单个文件中,便于备份和迁移。以下是 H2 SQLite 比较 :性能 SQLite 的性能比 H2 更好,因为它采用了C语言编写的底层代码,而 H2 使用Java编写的底层代码。因此,在大量数据的情况下, SQLite 的性能更高。 数据库 大小 H2 数据库 文件比 SQLite 的文件稍大,因为H... To me it looks like H2 database is the easiest to manage. It requires no server and everything is put neatly in one file, which makesback-uppingand sharing database s among developers easier. It even...  当前单机 数据库 (文件型 数据库 )有很多,为了选择更好的 数据库 ,以便以后使用,在这主要对以下 数据库 进了插入、查询的速度进行测试,以及 数据库 的管理方式进行详细说明。 数据库 分别为:SQLLite、FireBird、Derby、HSql、PostgreSQL、JavaDB 、 H2 等。1、 sqlite 官方网站:http://www. sqlite .org/驱动包: sqlite jdbc-v056. 性能和限制 SQLite 是一个很快的 数据库 ,但"快"这个词本身是一个主观的和模糊不清的词。坦白地讲,对于有些事情, SQLite 比其他 数据库 做得快,也有些事情比不上其他 数据库 。利用 SQLite 提供的配置参数, SQLite 是足够快速和高效的。与大多数 数据库 一样, SQLite 使用B-tree做索引,使用B+-tree处理表。因此,在对单表进行查询时,平均而言, SQLite 与其他 数据库 一样快(至少不 内置的 数据库 H2 ,可以让我们在无依赖 数据库 的情况下,做集成测试。比如我们想测试添加一个学生到 数据库 ,就需要启动一台 数据库 来验证结果。然而使用 H2 内置 数据库 的话,就可以在无依赖 数据库 的情况下,进行验证。 数据库 H2 是内存级的,如果有大量集成测试(IT:Integration Test)的话,可以缩短测试时间。Embedded Redis同上,使我们在无依赖Redis的情况下,做测试。 工作中遇到一个异常,程序使用了两种 数据库 H2 SQLite ,在某些环境下会偶然出现DriverManager使用 SQLite 的库加载 H2 数据库 ,然后抛出异常: 15:48:46 | java.sql.SQLException: invalid database address: jdbc: h2 :../../etc/server 15:48:46 | at org. sqlite .J... H2 Console 是 H2 数据库 的网页版管理界面,提供简单、直观的操作界面,允许用户方便地进行 数据库 管理和SQL执行,极大地提升了开发和测试的效率。 H2 数据库 凭借其便捷性和简洁性在开发、测试和嵌入式应用中表现卓越。虽然在某些方面与其他 数据库 相比有所不足,但其简单快捷的特性,使得 H2 在特定场景下成为优秀的选择。@Data@Entity@Id通过Spring Boot和Spring Data JPA,Java开发者可以更加高效且优雅地集成和使用 H2 数据库 。 由于国内 H2 嵌入式 数据库 并不是主流 数据库 ,因此相关生态资源文件都 比较 少,并且很多都是断断续续的,针对此类问题笔者特意去官网整理相关配置文件及说明并进行梳理,方便大家开发时使用。 H2 数据库 配置及相关使用方式一站式介绍(极为详细并整理官方文档) FEDERATED 每种类型都有其优劣势。关键需要理解每种存储引擎特性并选择最适合一种创建表以提升 数据库 性能。下面简要介绍每种存储引擎及其特性,让你能够决定什么场景选择哪种类型引擎。 1.1 MyISAM MyISAM 扩展之前的 ISAM 存储引擎。M 案例描述:通过iostat发现存储的写性能长期维持在10MB左右,而且因为写性能差已经导致 数据库 性能变差;两个小时以后,iostat发现系统的写性能已经能够到100MB以上, 数据库 性能也恢复正常。也就是说,在对系统、 数据库 监控中,出现了性能波谷,存储写入性能严重抖动,为什么?一、原理过程 由上原理图,进行过程解析:1、事务提交,修改buffer_pool中的数据形成脏页,并且同时生成redo日志,...