[問題] Hibernate 多年來的疑問

看板java作者 (《經濟狀況》赤貧)時間12年前 (2013/03/30 18:41), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/3 (看更多)
各位大大好,小弟,用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

03/30 18:57, , 1F
看 debug 資訊... 他會有 sql 的生成碼 !!
03/30 18:57, 1F

03/30 19:01, , 2F
查詢效率應該是一樣的,記憶體欄位比較多就比較占用吧
03/30 19:01, 2F

03/30 19:04, , 3F
另外這東西是可以自己測的 !! 你測測看跟我講一下結果
03/30 19:04, 3F

03/30 19:09, , 4F
關鍵字: explain plan, latch, lock, block, sql trace
03/30 19:09, 4F

03/30 20:37, , 5F
其實有時候單看 sql 碼不會知道效能,還得搭配其他工具
03/30 20:37, 5F

03/31 00:10, , 6F
其實和 Hibernate 關係不大,可以理解為 select
03/31 00:10, 6F

03/31 00:11, , 7F
statement中查詢欄位多與少對效能的影響。
03/31 00:11, 7F

04/01 09:52, , 8F
不建議,你這樣子會造成L1 cache concurrency
04/01 09:52, 8F
文章代碼(AID): #1HLi5eUf (java)
文章代碼(AID): #1HLi5eUf (java)