hibernate效能調優1

2021-09-01 01:35:54 字數 878 閱讀 5733

a) 完成同樣一件事,hibernate提供了可供選擇的一些方式,但具體使用什麼方式,可能用效能/**都會有影響。顯示,一次返回十萬條記錄 (list/set/bag/map等)進行處理,很可能導致記憶體不夠的問題,而如果用基於游標(scrollableresults)或 iterator的結果集,則不存在這樣的問題。

b) session的load/get方法,前者會使用二級快取,而後者則不使用。

c) query和list/iterator,如果去仔細研究一下它們,你可能會發現很多有意思的情況,二者主要區別(如果使用了spring,在hibernatetemplate中對應find,iterator方法):  

i. list只能利用查詢快取(但在交易系統中查詢快取作用不大),無法利用二級快取中的單個實體,但list查出的物件會寫入二級快取,但它一般只生成較少的執行sql語句,很多情況就是一條(無關聯)。

ii. iterator則可以利用二級快取,對於一條查詢語句,它會先從資料庫中找出所有符合條件的記錄的id,再通過id去快取找,對於快取中沒有的記錄,再構造語句從資料庫中查出,因此很容易知道,如果快取中沒有任何符合條件的記錄,使用iterator會產生n+1條sql語句(n為符合條件的記錄數)

iii. 通過iterator,配合快取管理api,在海量資料查詢中可以很好的解決記憶體問題,

如:  

while(it.hasnext()){  

youobject object = (youobject)it.next();

session.evict(youobject);

sessionfactory.evice(youobject.class, youobject.getid());

如果用list方法,很可能就出outofmemory錯誤了。

Linux 效能調優(1)

讀書筆記 linux 效能調優指南 首先建議對核心又足夠的了解,尤其記憶體管理,不然很多概念很難理解 1.理解linux 作業系統 2.監控和檢測工具 3.分析效能瓶頸 4.優化作業系統 linux效能監控工具 工具常用功能 top所有程序情況 vmstat 系統活動,硬體和系統資訊 uptime,...

zabbix效能調優(1)

概述 在我們生產環境使用zabbix監控會遇到卡頓效能緩慢等問題。這種情況下正確的調整zabbix系統,使之保持高效能就是非常重要的。效能緩慢的表現 01 nvps引數值 每秒寫入的新值數量 簡稱nvps 確認問題 雖然我們在前端看到zabbix的效能緩慢,但是我們還需要根據zabbix的後台資訊來...

如何進行HIBERNATE效能調優

大體上,對於hibernate效能調優的主要考慮點如下 資料庫設計調整 hql優化 api的正確使用 如根據不同的業務型別選用不同的集合及查詢api 主配置引數 日誌,查詢快取,fetch size,batch size等 對映檔案優化 id生成策略,二級快取,延遲載入,關聯優化 一級快取的管理 針...