Hibernate插入数据效率测试
硬件配置:
4G内存、CPUi3-2.3
数据库SQL2008
package com.pan.test; import org.hibernate.Session;
import org.hibernate.Transaction; import com.pan.bean.Student;
import com.pan.uitl.HibernateSessionFactory; public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub open(); } private static void open(){ //100 条数据521-689
//1000条数据 8193 //分任务之后10个线程 6997-6698
//100个线程 每个线程10次任务 - 2798 //100个线程 测试 每个10条任务 6701 //10000条数据 63899 CPU 22% 左右94876-95361
//1000个线程 10个任务 71344 //1000条数据分任务测试 //1000条分为10次任务 Session session = HibernateSessionFactory.getSession(); long startTime = System.currentTimeMillis();
for(int i=0;i<1000;i++){ Thread th=new MyThread(session, 100);
th.setPriority(Thread.MAX_PRIORITY);
th.run(); } long endTime = System.currentTimeMillis(); session.close(); System.out.println(endTime-startTime); } } class MyThread extends Thread{ private Session session;
private int size;
public MyThread(Session session,int size){
this.session=session;
this.size=size;
} @Override
public void run() { for(int i=0;i<size;i++){
Transaction transaction = session.beginTransaction();
Student student=new Student();
student.setAddress("电视剧付款后大厦尽快发货上岛咖啡还是打飞机客户端");
student.setMsn("pan@baletu.com");
student.setName("张小三");
student.setNickName("张三");
student.setPhone("15159665635");
student.setQq("599194993");
student.setRemark("但是房间啊看的舒服噶说的法规大家看沙发党就看啥好烦开朗大方黄寺大街咖啡还是大家看法还是大家看法好");
session.save(student);
transaction.commit();
}
session.flush();
} }
Hibernate插入数据效率测试的更多相关文章
- SQl server 关于重复插入数据的测试
最近发布的脚本,有那种防止重复插入数据(包括存在时更新,不存在是插入的处理,判断的方向可能与下面的示例相反) 使用类似下面的 SQL declare @id int, @value int if no ...
- 简单的使用hibernate插入数据的例子
数据库创建脚本: drop table person create table person( id varchar(32) not null primary key ...
- 记一次 Hibernate 插入数据中文乱码报错解决
错误描述 程序运行,向表中插入数据(包含中文)报错:\xE6\xB2\x88\xE9\x9B\xAA... 但是自己另外新建一个数据库手动插入数据中文正常,同样修改数据库,表的编码之后同样不行.而且 ...
- Oracle 插入数据效率对比
oracle插入数据有多种方式: 将从多个表中查出来的数据插入到临时表中 数据行数 5189597 1.传统方式:直接将数据插入到表中 insert into LLB_BASIC_USER_D_TEM ...
- android批量插入数据效率对比
对比在android中批量插入数据的3中方式对比(各插入1W条数据所花费的时间): 1. 一个一个插入 /** * 向表中插入数据 * * @param openHelper * @param app ...
- JDBC批量插入数据效率分析
对于需要批量插入数据库操作JDBC有多重方式,本利从三个角度对Statement和PreparedStatement两种执行方式进行分析,总结较优的方案. 当前实现由如下条件: 执行数据库:Mysql ...
- hibernate 插入数据时让数据库默认值生效
用hibernate做数据库插入操作时,在数据库端已经设置了对应列的默认值,但插入的数据一直为null.查找资料发现,原来是hibernate的配置项在作怪. Hibernate允许我们在映射文件里控 ...
- oracle批量插入数据(测试)
做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法.产生测试数据的SQ ...
- Hibernate插入数据后获得ID
很多表的主键都是自增型的,新增的记录使用save()方法保存以后,要获得ID,直接使用getId()就可以了,因为此时记录已经保存进数据库,已经有了ID. 另一种方法是使用MySQL的SELECT L ...
随机推荐
- memcache实例
<?php class demo { private $str_attr; private $int_attr; public function __get($name) { return $t ...
- centos 下使用sublime
CentOS 之 Sublime text3 安装及配置(不支持中文输入) sublime text 的界面友好,自动补全功能也不错. (本来用vim+php_function.txt的形式进行补全的 ...
- 游戏算法中lua脚本详解
此外,函数本身也是一个变量,比如: dp@dp:~ % cat test.lua local mylen={} mylen.len3=function (x,y,z) return math.sqrt ...
- Solr Dataimport配置
参考资料: https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the ...
- UNIX网络进程间通信漫谈(1)
进程间通信 IPC是进程间通信的简称,指的是运行在某个操作系统上的不同进程间各种消息传递方式,在Unix操作系统过去30年的演变史中,消息传递经历了如下几个阶段: 管道,管道是第一个广泛使用的IPC形 ...
- 转:VC中MessageBox的常见用法
一.关于MessageBox 消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合. 1.MessageBox("这是一个最简单的 ...
- Android中开发Service
Service的开发分为两个步骤:定义Service和配置Service1.定义Service定义一个Service子类继承于Service2.配置Service在AndroidManifest.xm ...
- 【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错
原文网址:http://blog.csdn.net/whu_zhangmin/article/details/25364349 手机连接PC后 adb shell su rm -r /system/a ...
- 【转】ArrayList和LinkedList的几种循环遍历方式及性能对比分析
原文网址:http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 主要介绍ArrayList和LinkedList这两种 ...
- Android数据存储三剑客——SharedPreferences、File、SQLite
Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...