当前单机数据库(文件型数据库)有很多,为了选择更好的数据库,以便以后使用,在这主要对以下数据库进了插入、查询的速度进行测试,以及数据库的管理方式进行详细说明。数据库分别为:SQLLite、FireBird、Derby、HSql、PostgreSQL、JavaDB、H2等。

1、sqlite

驱动包:sqlitejdbc-v056.jar

驱动包的版本要正确,一开始我用sqlite-jdbc-3.6.0.jar导致hibernate在大批量插入时会中断。

Hibernate 连接配置:

hibernate.dialect sqlDialect.SQLiteDialect

hibernate.connection.driver_class org.sqlite.JDBC

hibernate.connection.username

hibernate.connection.password

hibernate.connection.url jdbc:sqlite:d:/sqlite/test50w.db

其中sqlDialect.SQLiteDialect是自己编写的一个继承org.hibernate.dialect.Dialect的java类。

连接完后系统会在url的路径下创建指定数据库名的数据库。

管理工具:下载sqliteadmin.zip包解压后执行sqliteadmin.exe.

特点:不支持存储过程,不支持外键,多进程可以同时打开同一个数据库,也可以同时 SELECT ,但只有一个进程可以立即改数据库,用like查询的方式查较慢。

优点:占用空间少,打开数据库速度快,SQLite不支持存储过程,不支持外键,多进程可以同时打开同一个数据库,也可以同时 SELECT

缺点:查询速度一般,只有一个进程可以立即改数据库

2、Firebired

驱动包:jaybird-2.1.6.jar、jaybird-full-2.1.6.jar、jaybird-pool-2.1.6.jar

Hibernate连接配置:

hibernate.dialect org.hibernate.dialect.FirebirdDialectw

hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver

hibernate.connection.username sysdba

hibernate.connection.password masterkey

hibernate.connection.url jdbc:firebirdsql:localhost:d:/firebird/TEST100W.fdb

数据库的管理工具:

(1)Firebird isql tool:下载fodesk.rar解压后安装,运行该工具,在命令行输入:create database数据库名 user 'sysdba' passwrod 'masterkey'.如下图所示:

wps_clip_image-26735.png

数据库名扩展名.fdb要输入,用户名和密码必须用单引号。

完成后在路径下新增了一个扩展名为.fdb的数据库文件。

(2)FlameRobin界面管理工具

下载flamerobin-0.8.3-setup.exe安装后软件界面。

wps_clip_image-716.png

特点:文件占用空间少,插入记录时间较慢,支持多线程的读写。

优点:占用空间少,支持多线程的读写

缺点:无事务插入速度慢,建立索引后查询速度慢

3、Derby

驱动包:derby.jar

Hibernate连接配置:

hibernate.dialect org.hibernate.dialect.DerbyDialect

hibernate.connection.driver_classorg.apache.derby.jdbcEmbeddedDriver

hibernate.connection.username

hibernate.connection.password

hibernate.connection.url jdbc:derby:d:/derby/testsize50w;create=true

连接完后系统会在url的路径下创建指定数据库名的数据库,数据库存在后可以将配置中的create=true去掉。

数据库以文件的形式存在,如testsize50w数据库,以testsize50w为文件夹,下有:

wps_clip_image-1527.png

数据库管理工具:IJ管理工具

解压db-derby-10.5.3.0-bin.zip后在db-derby-10.5.3.0-bin/db-derby-10.5.3.0-bin/bin下可以找到ij.bat文件。运行既可,数据库的连接命令:connect  'jdbc:derby:d:/derby/testsize50w';

也可以安装eclipse插件,在eclipse开发时可以管理数据库,安装插件包:derby_core_plugin_10.5.3.zip

数据库特点:插入记录较慢,查询速度一般。不支持多线程的读写。

优点:查前面几页时速度快

缺点:占用空间大,无事务插入时速度慢,有事务插入时也慢,不支持多线程的读写

4、HSql

它有五种模式:Hsqldb Server、Hsqldb Web Server、Hsqldb Servlet、In-Process(Standalone)模式、Memory-Only数据库本文主要采用In-Process(Standalone)模式。

驱动包: hsqldb.Jar

驱动包在hsqldb-2.0.0-rc9.zip解压后hsqldb-2.0.0-rc9/hsqldb/lib下,驱动包的版本要正确,一开始我用1.8版本的包,导致hibernate用独占(file)连接时无法连接上。

Hibernate连接配置:

hibernate.dialect org.hibernate.dialect.HSQLDialect

hibernate.connection.driver_class org.hsqldb.jdbcDriver

hibernate.connection.username sa

hibernate.connection.password

hibernate.connection.url  jdbc:hsqldb:file:d:/hsql/test100w/test100w;ifexits=true

其中ifexits=true可以不写

管理工具类:

·org.hsqldb.util.DatabaseManager

·org.hsqldb.util.DatabaseManagerSwing

·org.hsqldb.util.Transfer

·org.hsqldb.util.QueryTool

·org.hsqldb.util.SqlTool

创建数据库:在指定的路径中新建一个数据库文件夹(test),将hsqldb.jar放在该文件夹下。并添加一个runcreate.bat文件,内容为:

java -cp hsqldb.jar org.hsqldb.server.Server -databasetest

运行后会创建一个数据库testhsqldb,数据库文件包括:

·test.properties

·test.script

·test.log

·test.data

·test.backup

图形管理工具:在文件夹test下添加runmanager.bat文件。内容为:

java -Xms512m -Xmx512m -cp ../hsqldb.jar org.hsqldb.util.DatabaseManager

其中当数据库大时需要添加-Xms512m -Xmx512m参数,否则可以不要。 运行该文件:

wps_clip_image-24925.png

输入连接信息后,单击OK完成连接。

特点:占用空间小,查询速度快,但是超过10几万条记录时打开数据库非常慢,而且简直无法插入,占用的内存暴涨,需要调高内存后才能进行操作。插入速度快。不支持多线程的读写

优点:无事务插入时速度快,有事务插入时速度快,无索引查询速度快,建立索引后查询速度快like中文查询快

缺点:打开数据库速度慢,较耗内存。不支持多线程的读写

5、PostgreSQL

驱动名:postgresql-8.4-701.jdbc3.jar

Hibernate 连接配置

hibernate.dialect org.hibernate.dialect.PostgreSQLDialect

hibernate.connection.driver_class org.postgresql.Driver

hibernate.connection.username postgres

hibernate.connection.password postgresql

hibernate.connection.url jdbc:postgresql://localhost:5432/test5w?charSet=UTF-8

数据的管理工具:

它必须安装数据库软件,解压postgresql-8.4.3-1-windows.zip包后执行postgresql-8.4.3-1-windows.exe安装数据库软件。

wps_clip_image-19815.png

创建新的数据库,每个数据库对应一个Id,存放在:postgresql安装目录下的PostgreSQL/8.4/data/base下。以各自的id为文件夹,下包括它的数据文件。

应用程序在连接数据库时,数据库服务必须先启动。

特点:要先安装数据库服务器,数据库较在。支持多线程的读写,用like的方式查比较慢

6、javaDb

新安装了 JDK 6 的程序员们也许会发现,除了传统的bin、jre 等目录,JDK 6 新增了一个名为db 的目录。这便是Java 6 的新成员:Java DB。这是一个纯Java 实现、开源的数据库管理系统(DBMS),源于Apache 软件基金会(ASF)名下的项目Derby。

驱动包:jdk1.6/db/lib/derby.jar

Hibernate连接配置:与derby一样

数据库管理工具与derby一样

优点:数据库安装方便

缺点:占用空间大,分页查询时速度较慢,不支持多线程的读写

7、H2

驱动包:h2-1.2.135.jar

Hibernate连接配置:

hibernate.dialect org.hibernate.dialect.H2Dialect

hibernate.connection.driver_class org.h2.Driver

hibernate.connection.username sa

hibernate.connection.password

hibernate.connection.url jdbc:h2:d:/h2/test100w/testh2

连接完后系统会在url的路径下创建指定数据库名的数据库。

数据库管理工具:安装h2-setup-2010-05-08.exe

界面如下:

wps_clip_image-18373.png

设置完成后单击connect即可.

特点:不支持多线程,数据插入快。索引后查询速度快

优点:建立索引后查询速度快

缺点:关闭数据库慢,无索引查询速度慢,数据量大时like中文查询慢,不支持多线程

以上是用hibernate的连接,用jdbc的连接相似,驱动和URL都一样。

测试结果如下:

单机MySQL性能_单机数据库性能测试总结相关推荐

  1. mysql update emp set_Mysql数据库性能优化一

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  2. 判断字段长度大于某长度_判断数据库性能只能通过count(*)?No,这些优化方案了解一下!...

    大多数用户在体验数据库时,接触到的最早的sql语句就是count(*),因此用户判断数据库性能时通常也会通过count(*)进行比较.但在执行时通常会出现一个问题:对某个表做count(*)时需对全表 ...

  3. sql server express 并发数的限制_阿里数据库性能诊断的利器——SQL执行干预

    概述 在业务数据库性能问题诊断中,如果发现一个业务性能很差跟某个SQL有关,应用连接池几乎被该SQL占满,同时数据库服务器上也不堪重负.此时情况很紧急,业务改SQL重发布已经来不及了,运维能选择的操作 ...

  4. 熟悉mysql数据库设计和性能优化_Mysql数据库性能优化

    Mysql数据库性能优化,可以从下面三点入手: 数据库设计 SQL语句优化 架构优化 一.数据库设计优化 1.适度的违反范式,适度    遵循三大范式就会带来查询时经常需要join,导致查询效率降低 ...

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

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

  6. 腾讯云mysql架构_一个数据库存储架构的独白

    本文由云+社区发表 本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人.从事数据库内核开发.数据库产品架构和规划.曾就职于华为,2015年加入腾讯,参与过TBase ...

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

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

  8. 事务对性能影响_MySQL数据库性能优化史诗级大总结

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 大数据真好玩点击右侧关注,大数据真好玩! ...

  9. mysql监控sql排名_监控数据库性能的SQL汇总

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "P ...

  10. sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...

    作者 | geekguy 责编 | 王晓曼 出品 | CSDN博客 1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于 ...

最新文章

  1. 3,maven使用入门
  2. python的argsort函数_python——argsort函数
  3. windows写文件到ubuntu之samba
  4. 如何免费的让网站启用HTTPS
  5. 计算机网络学习笔记(26. Web缓存技术)
  6. html中button标签reset用法
  7. 模拟题 czy的后宫
  8. 汽车零部件行业需求分析及解决方案
  9. Scala——面向对象和函数式编程语言
  10. Android 启动页白屏 快速解决
  11. 51单片机(四)—— 51单片机仿真芯片的使用
  12. 微信或企业微信实现扫码登录的三种方式
  13. 深度解读 | VR中的See-Through技术
  14. 如何监控Redis性能指标(译)
  15. JAVA代码计算1900年到所求年份共多少天。
  16. 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解
  17. 如何提升推荐系统的可解释性?京东智能推荐卖点技术全解析
  18. MacBook Pro合上盖子不休眠的问题简单分析
  19. cir模型matlab代码,CIR模型MATLAB程序
  20. 关于自学前端能不能就业的问题

热门文章

  1. 服务器lsass系统错误,lsass.exe系统错误解决教程
  2. 感谢CSDN编辑精心采访--将人文融入到科技产品中
  3. 汇编语言教程 -- 开始
  4. PDCA循环的四个阶段八个步骤,你知道么?
  5. 通达OA任意文件删除/未授权访问+任意文件上传漏洞复现
  6. 开源盛世:谈谈开源代码的使用与安全风险
  7. 三维重建开源代码汇总【保持更新】
  8. android root刷机包包,安卓ROOT卡刷包通用版【安致提供】
  9. 万能声卡驱动精灵2016官方版
  10. 分析:谷歌不会退出中国市场的8大理由