对 PHP程序员来说,SQLite可以快速的搭建数据库开发环境,提供轻松、自容器、无配置、无独立服务的数据库环境,所有数据保存在一

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

当我们寻找 SQLite 的替代方案时,有两个可选,,分别是 H2 和 MySQL Embeded 版本。我关注的是可像 SQLite 一样方便使用,但又必须兼容 MySQL。

下面我们对三个数据库进行简单的比较:

比较项目

SQLite

H2 database engine

MySQL Embedded

Footprint

350KiB

<2MB

授权协议

Public domain

Dual: Modified MPL 1.1 / EPL 1.0 (commercial friendly)

GPL 2.0 (only commercial friendly if not redistributed)

自容器

单文件

无服务器

服务器模式

零配置

事物处理

索引

(B-tree, R-tree, full-text)

(B-tree, tree, hash, full-text)

(B-tree, R-tree, hash, full-text)

MySQL 兼容性

(but not 100%)

兼容其他数据库

MySQL, PostgreSQL, Oracle, MSSQL, DB2, HSQLDB and Derby

加密

内存中数据库

(MEMORY storage engine)

看似 H2 管理最简单,因此我在 PHP 下体验了 H2 后发现的一些限制:Quercus 的 MySQL 驱动无法和 H2 的 MySQL 兼容模式良好的工作,我必须使用 Quercus 的 PDO 驱动来替代。

MySQL Embedded 则是 100% 兼容 MySQL,我还没有开始测试。但也有一些不确定的问题,我不清楚是否可以分发包含 MySQL Embedded 的应用程序,这可能需要购买商业授权。

logo.gif

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

h2 mysql 对比_轻量级数据库比较:SQLite、H2和MySQLEmbedded相关推荐

  1. mysql关系数据库_关系型数据库MySql简介

    什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...

  2. MYSQL对比两个数据库表结构

    有时候,需要对比一下测试环境和生产环境中,数据库的表结构是否有所差异.有两个常用的工具. AmpNmp.DatabaseCompare GUI 界面,支持多种数据库(MySQL.SQL Server. ...

  3. h2 mysql模式_使用H2的MixedMode模式

    已经习惯在开发和演示环境使用h2来代替大号数据库很长时间了. Embedded 的启动方式,快速,小巧,该有的都有了,sql和oracle, db2,mysql兼容性都不错.唯一的问题是,Embedd ...

  4. 网校mysql设计规范_网校数据库设计

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. mysql自愈_云数据库时代的 Db2 自愈系统

    概述 笔者于 2005 年加入 IBM 中国开发实验室,从事 Db2 研发工作 8 年,在 2014 年又加入中信银行.8 年的 IBM 原厂工作经验和 4 年多的银行工作经历让我有幸见证了 Db2 ...

  6. 关系型数据库和mysql教材_关系型数据库(MySQL)

    数据库系统DBS(DataBase System):数据库管理系统DBMS(DataBase Management System)+数据库DB(DataBase) [关系型数据库]概念: 表table ...

  7. Sybase和mysql语法_主流数据库复制表结构(SqlServer/Mysql/Oracle/Sybase)[语法差异分析]...

    因为数据库SQL语句在各大产品中带有"方言性",即SQLSERVER SYBASE都是用了T-SQL,Mysql是用的标准SQL,Oracle有有自己的PL/SQL.由于这种&qu ...

  8. mysql 核对_核对数据库表记录的shell脚本

    项目中需要核对数据库表记录,由于表太多,一一核对是相当痛苦的事情,于是临时写了2个超级简单的脚本. 一个用来核对mysql数据库表的脚本,另外一个用来核对oracle数据库表的脚本. 有需要的朋友,可 ...

  9. centos mysql 服务器_服务器数据库搭建流程(CentOs+mysql)

    前言: 服务器上数据库搭建需要知道Linux系统的版本,以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql,但是在centOs ...

最新文章

  1. RedHat 7.0 Chrome浏览器 安装
  2. 皮一皮:论圈子的重要性!
  3. 【Scratch】青少年蓝桥杯_每日一题_1.9_小猫旅行
  4. MFC鼠标OnMouseHover使用
  5. Linux进程地址空间探究
  6. 汇编学习--7.13--转移指令
  7. 超级计算机排名太湖之光,发布超级计算机排名,中国“神威太湖之光”荣登榜首(印刷版)...
  8. 深度学习-BP曲线拟合(预测)
  9. cbrt函数_cbrt()函数以及C ++中的示例
  10. 基于单片机的加油机系统
  11. php程序员就业方向,php程序员发展方向_php程序员有前途吗
  12. Java中的变量名命名规则
  13. 王兴在这个被互联网遗忘的网站上,留下了一万多条碎碎念。
  14. MySQL系统流程图怎么画_Word流程图怎么画?如何轻松绘制流程图
  15. 百度云提速方法 免费+非破解+不下载软件
  16. 生鲜商城系统如何营销?
  17. PHP 接口调用报错 502 Bad Gateway
  18. unity3d折线图
  19. winform关闭当前form_C#如何关闭FORM窗口
  20. 音频如何转换成文字格式?看完这篇文章你就学会操作了

热门文章

  1. pg_walreceiver
  2. Unity日历选择器ZCalendar免费下载,使用说明
  3. 一款App等保的预检测工具--ApplicationScanner
  4. C++实现贪吃蛇源码
  5. xp计算机名与ip设置,WindowsXP本地连接IP设置方法
  6. CIFAR-10数据集(介绍、下载读取、可视化显示、另存为图片)
  7. java中的WeakReference(弱引用)
  8. 恢复视力的方法(飞行员都用) 为了你的眼睛请收藏
  9. java rrdtool_RRDtool简体中文教程 v1.01(转载)
  10. Laravel 建站随笔