新聞中心
本文向大家介紹Hibernate HQL優(yōu)化,可能好多人還不了解Hibernate HQL優(yōu)化,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。依照Hibernate幫助文檔,一些網(wǎng)絡(luò)書籍及項(xiàng)目經(jīng)驗(yàn)整理而成,只提供要點(diǎn)和思路,具體做法可以留言探討,或是找一些更詳細(xì)更有針對性的資料。

初用Hibernate的人也許都遇到過性能問題,實(shí)現(xiàn)同一功能,用Hibernate與用JDBC性能相差十幾倍很正常,如果不及早調(diào)整,很可能影響整個項(xiàng)目的進(jìn)度。
大體上,對于Hibernate性能調(diào)優(yōu)的主要考慮點(diǎn)如下:
◆數(shù)據(jù)庫設(shè)計(jì)調(diào)整
◆HQL優(yōu)化
◆API的正確使用(如根據(jù)不同的業(yè)務(wù)類型選用不同的集合及查詢API)
◆主配置參數(shù)(日志,查詢緩存,fetch_size, batch_size等)
◆映射文件優(yōu)化(ID生成策略,二級緩存,延遲加載,關(guān)聯(lián)優(yōu)化)
◆一級緩存的管理
◆針對二級緩存,還有許多特有的策略
◆事務(wù)控制策略。
1.數(shù)據(jù)庫設(shè)計(jì)
◆降低關(guān)聯(lián)的復(fù)雜性
◆盡量不使用聯(lián)合主鍵
◆ID的生成機(jī)制,不同的數(shù)據(jù)庫所提供的機(jī)制并不完全一樣
◆適當(dāng)?shù)娜哂鄶?shù)據(jù),不過分追求高范式
2.Hibernate HQL優(yōu)化
HQL如果拋開它同Hibernate本身一些緩存機(jī)制的關(guān)聯(lián),Hibernate HQL優(yōu)化技巧同普通的SQL優(yōu)化技巧一樣,可以很容易在網(wǎng)上找到一些經(jīng)驗(yàn)之談。
3.主配置
◆查詢緩存,同下面講的緩存不太一樣,它是針對HQL語句的緩存,即完全一樣的語句再次執(zhí)行時(shí)可以利用緩存數(shù)據(jù)。但是,查詢緩存在一個交易系統(tǒng)(數(shù)據(jù)變更頻繁,查詢條件相同的機(jī)率并不大)中可能會起反作用:它會白白耗費(fèi)大量的系統(tǒng)資源但卻難以派上用場。
◆fetch_size,同JDBC的相關(guān)參數(shù)作用類似,參數(shù)并不是越大越好,而應(yīng)根據(jù)業(yè)務(wù)特征去設(shè)置
◆batch_size同上。
◆生產(chǎn)系統(tǒng)中,切記要關(guān)掉SQL語句打印。
當(dāng)前名稱:HibernateHQL優(yōu)化學(xué)習(xí)筆記
瀏覽地址:http://m.5511xx.com/article/dhigeic.html


咨詢
建站咨詢
