讨论一上orm的效率有关问题
讨论一下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万条
究竟那种方式的效率最高,费时最短呢?
希望各位大牛多提宝贵意见,小弟感激不尽!
------解决方案--------------------
你这个例子不会有多少差别
在某些情况下可能HSQL会慢一点 因为要考虑底层数据库的无关性
mybatis,jdbc就没差了
------解决方案--------------------
hibernate生成的SQL看的那个难受的啊 那字段名
我现在用myBatis 比自己实现ORM要少写点代码
效率感觉不差
------解决方案--------------------
单独的一次查询,应该后两种的效率更高。如果多次查询,hibernate的缓存的命中率比较高的话,应该是hibernate高。
------解决方案--------------------
没区别
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高。
------解决方案--------------------
没区别