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 ...
随机推荐
- php __clone实现
<?php class Account { public $balance; public function __construct($balance) { $this->balance ...
- LRU缓存算法 - C++版
LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法. 实现思路: hashtable + 双向链表 时间复杂度: 插入,查找,删除:O(1) 空间使用 ...
- fabric自动化部署django
使用fabric部署django应用 使用fabric部署django应用 本文是我的网站易读中文网自动化部署的脚本实现,以下代码在ubuntu和debian中测试通过 由于网站使用的是python技 ...
- 无线通信技术协议-Zigbee 3.0
物联网的无线通信技术有:短距离的无线局域网通信技术和长距离的无线广域网通信技术. 短距离局域网通信技术有Zigbee.Wi-Fi.Bluetooth.Z-wave.6LoWPAN等. 长距离广域网通信 ...
- (转)關於flashback query的ORA-01466錯誤
摘自:http://blog.sina.com.cn/s/blog_70a2bdb80100pqid.html 使用Oracle 10g 新特性flashback query來查詢過去修改並已提交的記 ...
- 如何实现室内Wi-Fi无线终端的精准定位
如何实现室内Wi-Fi无线终端的精准定位 如何实现室内Wi-Fi无线终端的精准定位 随着商圈020的兴起,室内定位技术的也如百花争艳般不断涌现.但随着室内Wi-Fi网的架设普及,基于Wi-Fi定位技术 ...
- 关于springMVC框架访问web-inf下的jsp文件
问题:springMVC框架访问web-inf下的jsp文件,具体如下: 使用springMVC,一般都会使用springMVC的视图解析器,大概会这样配置 <property name=&qu ...
- socket实例2
第二个实例创建一个java工程,基于tomcat服务器,程序运行时会启动客户端,实现了一个客户端向其他的客户端发送即时信息的功能 MainWindow.java package com.jikexue ...
- 两个php.ini; ubuntu下配置文件
C:\wamp\bin\apache\apache2.4.17\bin\php.ini 用于web访问时的配置文件, C:\wamp\bin\php\php5.6.15\php.ini 用于cli [ ...
- mongoose--------ORM数据操作框架
数据关系映射:ORM O:object R:relation M:mapping 把对数据库的操作都封装到对象中,操作了对象,就相当于操作了数据库. 安装: npm install mongoose ...