浏览 2291 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-04
我在自己的机器上测试的结果是相差很大。 JDBC插入可以有1500/S,而hibernate只有400/S, 感到很奇怪,到底是我自己用错了hibernate?还是在简单插入的情况下, hibernate的确是这样的? 测试的条件如下: 机器:P4 2.66 / 1G MM。 操作系统: XP SP2 数据库:MS Sql 2000个人版 hibernate: 3.0.5 JDBC驱动:微软提供的。 表的字段:id,name,desp 两者JAVA普通应用程序。 代码为: JDBC: for(int i = 1; i <= 10001; i++) { String strSql = "insert into Items values("; strSql += i; strSql += ", 'XXXXX', 'XXXXXXX')"; Statement stat = con.createStatement(); stat.executeUpdate(strSql); } Hibernate: Item item = new Item(); item.setName("XXXX"); item.setDescription("lalalalal"); Session session = HibernateUtil.getSession(); Transaction transaction = session.beginTransaction(); session.persist(item); session.save(item); transaction.commit(); session.close(); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-04
ORM的裸性能相对于直接JDBC就是比较差的, 基本上启用缓存的读性能才会有比较大提升.
可以看看 http://www.polepos.org 评测框架. |
|
返回顶楼 | |
发表时间:2007-01-04
楼主 把hibernate的那段事务的代码去掉再试试,我看你的jdbc代码中没有用事务,而hibernate代码中使用了事务,这样可能会有影响速度的。
|
|
返回顶楼 | |
发表时间:2007-01-05
明白。
|
|
返回顶楼 | |