日期:2014-05-18  浏览次数:20643 次

讨论一下orm的效率问题
hibernate,mybatis,jdbc;
三种方式访问数据库,都用com.mchange.v2.c3p0.ComboPooledDataSource这个DataSource,
sql语句(hql就不贴了);select B.ID, A.name,B.subject,A.score from
 (select name,max(score) as score from tbA group by tbA.name) a,tbA as b 
 where b.name=a.name and b.score=a.score
这样查询的结果大约有3万条

究竟那种方式的效率最高,费时最短呢?

希望各位大牛多提宝贵意见,小弟感激不尽!
orm hibernate jdbc 数据库 sql

------解决方案--------------------
你这个例子不会有多少差别
在某些情况下可能HSQL会慢一点 因为要考虑底层数据库的无关性
mybatis,jdbc就没差了
------解决方案--------------------
hibernate生成的SQL看的那个难受的啊  那字段名


我现在用myBatis 比自己实现ORM要少写点代码 
效率感觉不差
------解决方案--------------------
单独的一次查询,应该后两种的效率更高。如果多次查询,hibernate的缓存的命中率比较高的话,应该是hibernate高。
------解决方案--------------------
引用:
就比较单独查询,缓存不算

没区别