单机MySQL性能_单机数据库性能测试总结
当前单机数据库(文件型数据库)有很多,为了选择更好的数据库,以便以后使用,在这主要对以下数据库进了插入、查询的速度进行测试,以及数据库的管理方式进行详细说明。数据库分别为: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'.如下图所示:
数据库名扩展名.fdb要输入,用户名和密码必须用单引号。
完成后在路径下新增了一个扩展名为.fdb的数据库文件。
(2)FlameRobin界面管理工具
下载flamerobin-0.8.3-setup.exe安装后软件界面。
特点:文件占用空间少,插入记录时间较慢,支持多线程的读写。
优点:占用空间少,支持多线程的读写
缺点:无事务插入速度慢,建立索引后查询速度慢
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为文件夹,下有:
数据库管理工具: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参数,否则可以不要。 运行该文件:
输入连接信息后,单击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安装数据库软件。
创建新的数据库,每个数据库对应一个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
界面如下:
设置完成后单击connect即可.
特点:不支持多线程,数据插入快。索引后查询速度快
优点:建立索引后查询速度快
缺点:关闭数据库慢,无索引查询速度慢,数据量大时like中文查询慢,不支持多线程
以上是用hibernate的连接,用jdbc的连接相似,驱动和URL都一样。
测试结果如下:
单机MySQL性能_单机数据库性能测试总结相关推荐
- mysql update emp set_Mysql数据库性能优化一
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...
- 判断字段长度大于某长度_判断数据库性能只能通过count(*)?No,这些优化方案了解一下!...
大多数用户在体验数据库时,接触到的最早的sql语句就是count(*),因此用户判断数据库性能时通常也会通过count(*)进行比较.但在执行时通常会出现一个问题:对某个表做count(*)时需对全表 ...
- sql server express 并发数的限制_阿里数据库性能诊断的利器——SQL执行干预
概述 在业务数据库性能问题诊断中,如果发现一个业务性能很差跟某个SQL有关,应用连接池几乎被该SQL占满,同时数据库服务器上也不堪重负.此时情况很紧急,业务改SQL重发布已经来不及了,运维能选择的操作 ...
- 熟悉mysql数据库设计和性能优化_Mysql数据库性能优化
Mysql数据库性能优化,可以从下面三点入手: 数据库设计 SQL语句优化 架构优化 一.数据库设计优化 1.适度的违反范式,适度 遵循三大范式就会带来查询时经常需要join,导致查询效率降低 ...
- mysql自愈_云数据库时代的 Db2 自愈系统
概述 笔者于 2005 年加入 IBM 中国开发实验室,从事 Db2 研发工作 8 年,在 2014 年又加入中信银行.8 年的 IBM 原厂工作经验和 4 年多的银行工作经历让我有幸见证了 Db2 ...
- 腾讯云mysql架构_一个数据库存储架构的独白
本文由云+社区发表 本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人.从事数据库内核开发.数据库产品架构和规划.曾就职于华为,2015年加入腾讯,参与过TBase ...
- 网校mysql设计规范_网校数据库设计
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 事务对性能影响_MySQL数据库性能优化史诗级大总结
点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 大数据真好玩点击右侧关注,大数据真好玩! ...
- mysql监控sql排名_监控数据库性能的SQL汇总
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "P ...
- sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...
作者 | geekguy 责编 | 王晓曼 出品 | CSDN博客 1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于 ...
最新文章
- 3,maven使用入门
- python的argsort函数_python——argsort函数
- windows写文件到ubuntu之samba
- 如何免费的让网站启用HTTPS
- 计算机网络学习笔记(26. Web缓存技术)
- html中button标签reset用法
- 模拟题 czy的后宫
- 汽车零部件行业需求分析及解决方案
- Scala——面向对象和函数式编程语言
- Android 启动页白屏 快速解决
- 51单片机(四)—— 51单片机仿真芯片的使用
- 微信或企业微信实现扫码登录的三种方式
- 深度解读 | VR中的See-Through技术
- 如何监控Redis性能指标(译)
- JAVA代码计算1900年到所求年份共多少天。
- 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解
- 如何提升推荐系统的可解释性?京东智能推荐卖点技术全解析
- MacBook Pro合上盖子不休眠的问题简单分析
- cir模型matlab代码,CIR模型MATLAB程序
- 关于自学前端能不能就业的问题