之前项目中用到了H2内存数据库,做下整理:
H2数据库介绍
常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。
H2的优势:
1、h2采用纯Java编写,因此不受平台的限制。
2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。
3、性能和功能的优势
H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于操作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。
H2和各数据库特征比较:
官方下载地址:http://www.h2database.com/html/download.html
1、H2支持三种服务模式:
1.web server:此种运行方式支持使用浏览器访问H2 Console
2.TCP server:支持客户端/服务器端的连接方式
3.PG server:支持PostgreSQL客户端
启动tcp服务连接字符串示例:
jdbc:h2:tcp://localhost/~/test 使用用户主目录
jdbc:h2:tcp://localhost//data/test 使用绝对路径
2、常见的选项如下:
-web:启动支持H2 Console的服务
-webPort <port>:服务启动端口,默认为8082
-browser:启动H2 Console web管理页面
-tcp:使用TCP server模式启动
-pg:使用PG server模式启动
3、连接字符串参数
1.DB_CLOSE_DELAY:要求最后一个正在连接的连接断开后,不要关闭数据库
2.MODE=MySQL:兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQL
3.AUTO_RECONNECT=TRUE:连接丢失后自动重新连接
4.AUTO_SERVER=TRUE:启动自动混合模式,允许开启多个连接,该参数不支持在内存中运行模式
5.TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE:输出跟踪日志到控制台或文件, 取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUG
6.SET TRACE_MAX_FILE_SIZE mb:设置跟踪日志文件的大小,默认为16M
使用心得:
1、支持索引,常规数据在1W条以下速度很快,如果数据量超过1W以上的话,需要进行表设计和sql优化。
2、兼容99%以上的sql语句,可能跟Oracle冲突大一点,兼容mysql多一些。
3、既然是java开发的,启动依赖安装的jdk
其他日常使用就不一一截图,请参考下面的博客:
http://blog.csdn.net/guicaizhou/article/details/51858086和http://aub.iteye.com/blog/1882646