国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Hibernate性能優化

來源:懂視網 責編:小采 時間:2020-11-09 16:28:21
文檔

Hibernate性能優化

Hibernate性能優化:本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html (1)大量分頁查詢時,及時session.clear(),可能導致內存溢出; 大集合遍歷:如尋找敏感詞匯; 注:內存泄漏,Java本身不會內存泄漏,但是Java調用的底層C
推薦度:
導讀Hibernate性能優化:本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html (1)大量分頁查詢時,及時session.clear(),可能導致內存溢出; 大集合遍歷:如尋找敏感詞匯; 注:內存泄漏,Java本身不會內存泄漏,但是Java調用的底層C

本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html (1)大量分頁查詢時,及時session.clear(),可能導致內存溢出; 大集合遍歷:如尋找敏感詞匯; 注:內存泄漏,Java本身不會內存泄漏,但是Java調用的底層C會內存泄

本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html

(1)大量分頁查詢時,及時session.clear(),可能導致內存溢出;
大集合遍歷:如尋找敏感詞匯;
注:內存泄漏,Java本身不會內存泄漏,但是Java調用的底層C會內存泄漏。
(2)1+N問題:(典型面試題)
一個實體A關聯著另一個實體B,查詢所有的實體A時,原本一條sql語句就可完成,結果后面卻多了N條查詢各個A關聯的實體B的查詢語句的問題,影響性能。
解決辦法:A. 實體B設置為LAZY;
B.BatchSize多次單條查詢合并成少次的多條查詢,減少sql次數;
C.join fetch:設置外連接,把后面要查詢的也一起查出來,減少查詢次數。
(3)BatchSize多次單條查詢合并成少次的多條查詢,減少sql次數。
(4)List的Iterator:
A.List:Query查詢到的List是直接一條sql查詢所有結果;
B.Iterator:只查詢表的最小主鍵,接下來每訪問一條才發送一條sql語句查詢具體的記錄,但是Iterator使用了Hibernate的緩存,同一個session查詢兩次,底層sql只發送一次而已,它會自己去緩存中查詢結果是否已經有了,減少sql查詢次數。
(5)一級緩存、二級緩存、查詢緩存(面試題)
A.一級緩存:session中的緩存,查詢過一次之后的同一個session下再次查詢會從緩存中查詢;
B.二級緩存:SessionFactory級別的緩存,可以跨越session,Hibernate沒有實現,需要使用第三方二級緩存實現,默認EHCache,需要EHCache和Logging的jar;
a.打開二級緩存:Hibernate主配置文件設置打開緩存并指定二級緩存實現類;
@Cache注解:標注需要緩存到二級緩存的實體Entity;
Ehcache.xml:EHCache二級緩存的配置文件,可設置多個緩存配置,根據
name選擇設置的屬性配置;
b.適用二級緩存:經常訪問、改動不大、數量有限;
c.load、iterator默認使用二級緩存,list有往二級緩存加數據但是查詢時不使用;
d.query若要使用二級緩存,需要打開查詢緩存,
true
setCachable(true);指明Query打開二級緩存;
e.緩存算法:LRU最近最少使用、FIFO(先進先出)、LFU(最近最不常使用)
C.查詢緩存:特殊的二級緩存,專門用于查詢操作;
(6)二級緩存使用步驟:
A.導入ehcache的jar和commons-logging的jar;
B.類路徑加入ehcache的配置文件,里面配置緩存配置;
C.hibernate的全局配置文件配置開啟二級緩存;
D.標簽設置要開啟二級緩存的實體類;
E.:usage設置緩存策略,region設置要使用的EHCache配置選項,include設置是否緩存該實體所關聯的關聯實體。
(7)事務并發處理(面試):
事務基礎知識見JDBC筆記;
A. 悲觀鎖:解決不可重復讀,load添加第三個參數設置;
悲觀地認為別人總想著影響自己,直接加鎖,防止別人的影響;
B. 樂觀鎖:解決多人同時修改,程序中實現;
樂觀地認為別人不會來影響自己,加一個記錄版本號的屬性,@Version,事務開始時檢查版本號,到真正要修改時再檢查版本號,若版本號不變,則正確執行,版本號變了說明被影響了,報錯;
(8)一定要設置連接池?。?!
(9)一定注意數據庫的全表查詢是禁止的,關聯關系的多方直接不延遲也是禁止的,Hibernate會把整個表加入內存和一級緩存,很容易導致內存溢出。

本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Hibernate性能優化

Hibernate性能優化:本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-141.html (1)大量分頁查詢時,及時session.clear(),可能導致內存溢出; 大集合遍歷:如尋找敏感詞匯; 注:內存泄漏,Java本身不會內存泄漏,但是Java調用的底層C
推薦度:
標簽: 允許 博主 轉載
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 91精品国产色综合久久 | 欧美日韩亚洲国产无线码 | 天天做天天摸天天爽天天爱 | 欧美激情一区二区亚洲专区 | 欧美激情16p | 国产成人一区二区三区视频免费蜜 | 九九51精品国产免费看 | 亚洲va在线va天堂va四虎 | 欧美日韩精品国产一区二区 | 欧美日韩国产一区二区三区在线观看 | 亚洲综合一区二区精品久久 | 韩国在线视频 | 日本特级淫片免费 | 尤物视频黄 | 欧美日韩色片 | 成人精品视频在线观看完整版 | 亚洲国产精品日韩高清秒播 | 亚洲国语在线视频手机在线 | 碰91精品国产91久久婷婷 | 中文字幕一区二区三区四区 | 国产精品免费网站 | 亚洲欧美日韩综合在线播放 | 亚洲视频在线观看免费 | 精品国产一区二区三区免费看 | 国产片欧美片亚洲片久久综合 | 国产日韩在线视频 | 中文字幕美日韩在线高清 | 日韩精品免费看 | 一级免费毛片 | 卡通动漫亚洲综合 | 欧美在线一 | 亚洲国产成人久久综合碰碰动漫3d | 亚洲精品综合 | 一区二区三区欧美视频 | 先锋影音制服丝袜 | 欧美精品国产日韩综合在线 | 福利视频二区 | 久久一区二区三区精品 | 日韩 欧美 中文 | 国产激情在线观看 | 精品久久久久久亚洲 |