作者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
推 cyclone350:看 debug 資訊... 他會有 sql 的生成碼 !! 03/30 18:57
→ cyclone350:查詢效率應該是一樣的,記憶體欄位比較多就比較占用吧 03/30 19:01
→ cyclone350:另外這東西是可以自己測的 !! 你測測看跟我講一下結果 03/30 19:04
→ cyclone350:關鍵字: explain plan, latch, lock, block, sql trace 03/30 19:09
推 PsMonkey:其實有時候單看 sql 碼不會知道效能,還得搭配其他工具 03/30 20:37
→ adrianshum:其實和 Hibernate 關係不大,可以理解為 select 03/31 00:10
→ adrianshum:statement中查詢欄位多與少對效能的影響。 03/31 00:11
→ abola921:不建議,你這樣子會造成L1 cache concurrency 04/01 09:52