作者lookjohn (《经济状况》赤贫)
看板java
标题[问题] Hibernate 多年来的疑问
时间Sat Mar 30 18:41:41 2013
各位大大好,小弟,用Hibernate 进行开发已经有一段时间了,
不管大小专案的进行,hibernate 已经是我开发上不可或缺的开发元件之一
但是有个疑问一直存在小弟身上多年,想请各位大大帮忙厘清一下小弟的观念
状况:
有个Bean 有2X个栏位 举个例子来说:
public class BeanA {
private Long id;
private String field1;
private String field2;
.
.
private String field20;
get ,set..
}
今天 在大部分的时间 我只有用到 id,field1,field2 这几个栏位
所以我额外宣告了 一个叫 BeanASimple 的Bean
public class BeanASimple{
private Long id;
private String field1;
private String field2;
get , set ..
}
这两只 皆指到 TableA (不管事用annotion或是ORM)..
===
想请教:
使用语法 : "From TableA where 1=1" ; query.setMaxResults(1000);
在同样10000笔的查询之中,我使用的BeanASimple 的情况 是否优於BeanA?
是否下列几个条件皆有比较好:
1.查询效率
2.记忆体的占用率
3.多人同时查询的情况
这是我个人的认知,就观念上不知是否是正确的或是有相对的谬论存在,
请各位大大不吝指教..:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.8.36
1F:推 cyclone350:看 debug 资讯... 他会有 sql 的生成码 !! 03/30 18:57
2F:→ cyclone350:查询效率应该是一样的,记忆体栏位比较多就比较占用吧 03/30 19:01
3F:→ cyclone350:另外这东西是可以自己测的 !! 你测测看跟我讲一下结果 03/30 19:04
4F:→ cyclone350:关键字: explain plan, latch, lock, block, sql trace 03/30 19:09
5F:推 PsMonkey:其实有时候单看 sql 码不会知道效能,还得搭配其他工具 03/30 20:37
6F:→ adrianshum:其实和 Hibernate 关系不大,可以理解为 select 03/31 00:10
7F:→ adrianshum:statement中查询栏位多与少对效能的影响。 03/31 00:11
8F:→ abola921:不建议,你这样子会造成L1 cache concurrency 04/01 09:52