hibernate+MySQL性能测试
2016-06-17 09:55
483 查看
一、简介
测试hibernate+MySQL在不同情况下,分别插入1万、5万、10万、30万条数据花费的时间。运行环境:Windows7(8核,4G)
软件环境:Eclipse(Tomcat7,Debug模式)、JDK1.7、hibernate4.3.6
数据库:Mysql5.5.28
* 存储过程(java调用)的作用:插入单条数据,由java循环调用
* 所有操作都伴随着事务,否则很慢很慢
二、 应用服务器和数据库服务器部署在不同的机器上,比较‘hibernate hql’和‘java调用Mysql存储过程’分别插入1万、5万、10万、30万数据花费的时间。
结论:
1 | 单线程效率最低 |
2 | 8核CPU,3线程最优,多开线程并没有提升(反而是变差了) |
3 | hibernate hql效率优于存储过程 |
4 | 第一次执行速度比之后的慢,可能与预编译sql有关 sql预编译 |
三、应用服务器和数据库服务器部署在相同的机器上,比较‘hibernate hql’、‘java调用Mysql存储过程’和‘hibernate sql’分别插入1万、5万、10万、30万数据花费的时间。
结论:
1 | 单线程效率最低 |
2 | 8核CPU,3线程最优(某些情况下5线程更优) |
3 | 运行效率:hibernate sql > procedure > hibernate hql |
4 | 第一次执行速度比之后的慢,可能与预编译sql有关 |
5 | 另外测试了存储过程(非java调用),速度非常快。见最右下角 |
6 | 部署在不同机器上的操作比部署在相同机器上的操作慢2-6倍(随着数量增加倍数增加),说明网络IO远比执行sql本身要慢得多 |
相关文章推荐
- MySQL中的integer 数据类型
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- MySQL存储过程
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- PropertyChangeListener简单理解
- MySQL创建用户及权限控制