对 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

【牛角书】轻量级数据库SQLite与H2比较相关推荐

  1. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)

    spring boot+sqlite的配置,及成功运行详解 sqlite数据库的安装与调试 首先,通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/downloa ...

  2. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)

    轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...

  3. 轻量级数据库sqlite的编译

    sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...

  4. android realm 简书,android 数据库SQLite realm

    一.SQLite android内置了数据库SQLite,这是一款轻量级的关系型数据库,通常只需要几百K的内存.数据库文件存放在/data/data//databases/目录下. 为了方便管理数据库 ...

  5. 轻量级数据库Sqlite的使用

    SqLite是什么? SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置. 就像 ...

  6. Android学习之轻量级数据库SQLite

    Android中对数据的存储有很多种方式,Google为Andriod中较大的数据处理提供了SQLite数据库,SQLite是一款轻型的数据库,它在管理.使用和维护上非常强大.当然最主要的特点还是它的 ...

  7. c#中使用轻量级数据库sqlite开发总结

    首先简单说明下含义,sqlite数据库是一种轻量级的数据库,主要特点是免安装.免配置.简单小巧,在程序中的开发基本和sql数据库一致. 准备工具:system.data.sqlite.dll和sqli ...

  8. SQLite轻量级数据库jar包链接

    轻量级数据库-SQLite 最新版sqlite-jdbc-3.23.1.jar下载 链接:https://pan.baidu.com/s/1NjwQzx0o0LrQbAjbYt7uyA 提取码:c2z ...

  9. 大数据入门(SQLite手机本地轻量级数据库增删改查)

    SQLite手机本地轻量级数据库 数据库分为: 1.关系型数据库(mysql主外键属于关系型) 2.对象型数据库(oracle) 3.嵌入式数据库 案例: 安卓控件(5个Button)访问Activi ...

最新文章

  1. 看我用汉语编程(汉语Visual Basic编程软件发布)
  2. 原生ajax表单交互
  3. 【读薄Effective Java】创建和销毁对象
  4. Mybatis的update方法
  5. java stream 多个filter_恕我直言你可能真的不会java第3篇:Stream的Filter与谓词逻辑...
  6. 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)
  7. outlook 搜索框_日程管理,用 Outlook 也行
  8. 【01背包】最大约数和(jzoj 2126)
  9. java二叉树代码_JAVA语言实现二叉树生成的代码教程
  10. jQuery控件简易日历表格
  11. 仿真器和模拟器的区别是什么?
  12. c语言实现文档中字符串的替换,C语言 16行代码实现字符串中指定字符串替换
  13. mysql 主从 启动顺序_MySQL生产环境下的主从复制启动项
  14. 软件测试——测试分类及测试工具的简介
  15. 安装fitz报错_Kylo单机安装详解
  16. 内存颗粒与内存体质的关系
  17. 局域网内计算机无法ping通,局域网内目标主机无法ping通怎么处理 局域网内目标主机无法ping通如何解决...
  18. 表格,表单,文本域,下拉框,单选框,复选框,按钮
  19. SPSS学习笔记【一】-检验相关性
  20. eNSP实验vlan及交换机接口类型配置

热门文章

  1. 动态添加DevExpress 套件中 dxBar的菜单项目
  2. 互动媒体技术十二个“一”的文艺创作——小说创作
  3. 网络协议 TCP 数字编号和重传机制
  4. pc端使用高德地图api获取当前位置的经纬度
  5. 1504: ZZ的橱柜
  6. 还在用各种视频App?来用 Python 帮你剪
  7. 【Pygame实战】好“球”推荐——“足”出精彩,追“球”健康,足不出户在家也能“踢足球”啦~
  8. /usr/bin/ld: warning: libpng16.so.16, needed by //home/syd/anaconda3/lib/libfreetype.so.6, not found
  9. flex-wrap: wrap;布局注意事项
  10. 固态硬盘 linux 4k 对齐,linux查看硬盘4K对齐方法