mysql、h2插入性能对比

发布时间:2021-12-03 22:52:48

2013-01-05 更新:导致循环调用save插入慢的问题是我循环调用了service方法,而不是在service内部循环,而事物是在service级别,所以相当于每次插入都提交事物,所以慢了。




同样是插入,差别咋就这大呢?




操作系统:wubi ubuntu 12.04 (precise) 32 位


内核:?Linux 3.2.0-33-generic-pae


内存:4GB


cpu:Intel? Core?2 Duo CPU T6570 @ 2.10GHz × 2


mysql:版本5.5.28-0ubuntu0.12.04.2,?innodb,本地服务


h2: 版本1.3.169,?嵌入式


插入数据:1656行,id自动增长



数据库持久层操作方式耗时(ms)
mysqlhibernate循环调用save插入127910
mysqlhibernatesaveOrUpdateAll插入4499
mysqljdbcTemplate循环调用update插入3045
mysqljdbcTemplate调用update一次插入全部value2295
h2hibernate循环调用save3529
h2hibernatesaveOrUpdateAll2037
h2jdbcTemplate循环调用update插入796
h2jdbcTemplate调用update一次插入全部value610






mysql hibernate loop insert| data size:1656, time:127910 ms

mysql hibernate saveOrUpdateAll| data size:1656, time:4499 ms





mysql jdbcTemplate loop insert| data size:1656, time:3045 ms

mysql jdbcTemplate multi values| data size:1656, time:2295 ms





h2 hibenate loop insert| data size:1656, time:3529 ms

h2 hibernate saveOrUpdateAll| data size:1656, time:2037 ms





h2 jdbcTemplate loop insert| data size:1656, time:796 ms

h2 jdbcTemplate multi values| data size:1656, time:610 ms







配置:



#hibernate.connection.driver_class = com.mysql.jdbc.Driver
#hibernate.connection.url = jdbc:mysql://127.0.0.1:3306/emds?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
#hibernate.connection.username = mysql
#hibernate.connection.password = mysql
#hibernate.dialect = org.hibernate.dialect.MySQLDialect

hibernate.connection.driver_class = org.h2.Driver
hibernate.connection.url = jdbc:h2:db/emds_db
hibernate.connection.username = h2
hibernate.connection.password = h2
hibernate.dialect = org.hibernate.dialect.H2Dialect

hibernate.show_sql = true
hibernate.format_sql = false
hibernate.batch_size = 20
hibernate.hbm2ddl.auto = update
hibernate.cglib.use_reflection_optimizer = true
hibernate.cache.use_second_level_cache = false
hibernate.cache.use_query_cache = true
hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider






model



package com.emds.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.emds.util.DateUtil;

@Entity
@Table(name="air_quality_data")
public class AirQualityData {

public enum DataType{
AllAirQuality((short)1);

private short dataType;

DataType(short dataType){
this.dataType = dataType;
}

public short getDataType(){
return dataType;
}
}

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;

@Column(name="area", length=20, nullable=false)
private String area;

@Column(name="type", nullable=false)
private short type;

@Column(name="time", columnDefinition="DATETIME")
private Date time;

@Column(name="index_name", length=20, nullable=false)
private String indexName;

@Column(name="index_value", length=20, nullable=false)
private String indexValue;

@Override
public String toString(){
return "{" + id + " " + area + " " + DateUtil.dateToStr_yyyy_MM_dd_HH_mm(time) + " " + indexName + " " + indexValue + "}";
}

public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public String getIndexName() {
return indexName;
}
public void setIndexName(String indexName) {
this.indexName = indexName;
}
public String getIndexValue() {
return indexValue;
}
public void setIndexValue(String indexValue) {
this.indexValue = indexValue;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getArea() {
return area;
}

public void setArea(String area) {
this.area = area;
}

public short getType() {
return type;
}

public void setType(short type) {
this.type = type;
}

}







相关文档

  • 学生禁毒的手抄报设计图
  • windows10开机安全模式都进不了怎么办
  • 2021年—2021年第一学期信系团总支学生工作总结
  • 中秋最美是感恩升旗仪式主持词中秋最美是感恩升旗仪式主持稿范文
  • 如何快速的画一只兔子_兔子简笔画图片
  • 手机新浪微博红包怎么免费领取?
  • 高三作文:最好的奖赏
  • 巴中汽车保养知识
  • 企业周年庆典祝福语_公司周年庆典祝福语
  • 全民读书建议书范文精选五篇范文
  • 争吵后的分手信句子
  • 80岁生日宴会主持词
  • 数据结构(05)-队列
  • 六年级小考语文题及答案
  • 2019应届生去公司找个Java程序员的职位需要什么技能?
  • 在unity运行的时候运行Update
  • 托福阅读读的慢怎么练提速方法
  • 成功的名言经典名言:成功的名言(四)
  • 如何用手机制作短视频
  • 幼儿园春天的秘密课件
  • 高一数学学习经验总结
  • 感恩老师周记
  • 属狗本命年祝福语
  • 有深刻哲理的句子53条
  • 数据结构-赫夫曼树(三)
  • 心累了想休息的句子
  • 毕业实习自我工作总结
  • 去掉Android屏幕四周闪现红框
  • "幸运"的孩子
  • 月光下的蟋蟀声
  • 猜你喜欢

  • 检验科仪器故障应急预案
  • 挑战困难_小学六年级作文900字
  • 质监局党组书记学*十八大精神心得体会
  • 小米3怎么设置允许一个软件开启定位权限
  • 氧化还原条件对湿地土壤磷吸附与解吸特性的影响_陈亚东
  • 在Xcode上编译报错:Target ‘Runner‘: script phase “[CP] Embed Pods Frameworks”的结局方法在这里插入图片描述解决方法 1、打开file->w
  • 最新沪教版小学英语六年级上册Module 1 Unit 1 Growing up 公开课教学设计
  • 有意义的学工活动!
  • 怀孕后可以防止长斑的方法
  • 【推荐】2019秋九年级物理全册第十五章电流和电路第5节串、并联电路中电流的规律课件新版新人教版.ppt
  • 南昌工程学院本科生盲审抽检毕业设计(论文)封面样式
  • ZDK公司关键业绩指标选择建议-PPT精选文档35页
  • 最新电站培训工作总结资料
  • 厨房美食菜谱:小熊蛋糕的做法
  • 上海城乡结合部社会管理现状调查及财政政策建议
  • 月经不调吃什么药好得快
  • 关于转发2011年浙江省建筑安全文明标化工地管理和申报工作的通知
  • 【完整版】2019-2025年中国肿瘤标志物诊断行业发展前景与机遇预测研究报告
  • 雪中送炭的近义词是什么
  • 日本民族音乐的发展与影响论文(共3篇)
  • 模块六专题1教学中如何把握“四基”的拓展性阅读
  • 白腹锦鸡繁殖及食性的初步观察
  • 山东财经大学燕山学院清爽蓝色毕业论文答辩PPT模板毕业论文毕业答辩开题报告优秀PPT模板
  • 2019年九年级下册一单元作文-脚踏大地
  • 解决打包上传一直停留在Authenticating with the iTunes Store问题
  • 中考英语复*阅读理解及完形填空八上Unit9_10*题人教新目标版
  • 2011旺山村委扶贫开发“双到”工作计划
  • 2020年幼儿园食堂工作总结
  • 2016年大学生入党介绍人意见
  • 财务管理课外习题005第五章 金融投资
  • 资金管理对中小企业财务管理重要性研究
  • 265-商周时期的政治制度
  • 我与客舱安全
  • 2017年离婚协议书(样本)
  • 2019-2025年中国石油气行业发展现状调研及未来走势预测报告(目录)
  • 幼儿园大班音乐说课稿:《迷路的小花鸭》
  • 昆明理工大学试卷规范性检查表
  • 汽车信息管理系统课程设计报告
  • 饭店服务员工作计划【最新版】
  • 文字转换成表格教程
  • 2019七年级英语上册 Unit 3 Is this your pencil Section A(2a-2d)教案 (新版)人教新目标版
  • 中国石油和化学工业联合会、工业和信息化部运行监测协调局关于召
  • 电脑版