hibernate二級緩衝

來源:互聯網
上載者:User

標籤:blog   http   使用   檔案   io   資料   art   問題   

參考文章:http://blog.csdn.net/wtz20110803/article/details/7297579

緩衝類型:類,集合 和 查詢的緩衝:

1.一級緩衝的主要作用不是用來提高效能,而是用來管理對象

2.其中對象變化了可以更新到資料庫中

3.一次會話層級的成為一級緩衝,應用程式層級(sessionfactory層級)的成為二級緩衝

4.二級緩衝預設是不開啟的

5.用集合緩衝的話類的緩衝也必須要開啟,因為集合緩衝中存的是每一項的ID,如果沒有類的

  緩衝,則下次查詢的時候由於二級緩衝中沒有此類,他會根據ID去資料庫中查詢,效率下降

  因此將類緩衝,才能到二級緩衝區中根據ID尋找出來

6.不論一級還是二級緩衝,都是在使用OID的方式擷取對象時才有效,例如get或load方法

7.HQL查詢中,對於query.list()預設不會使用緩衝,即使寫成where id=1也不會,但會放入緩衝之中

8.在使用HQL查詢時,如果採用iterate()方法查詢,則會使用緩衝

  因為這個方法是先查詢所有合格ID集合,再一個一個的按照ID尋找資料,就能夠使用緩衝了

  但是其有N+1次查詢的問題,提升效能有限

9.查詢快取(此時將條件作為key緩衝儲存起來,若條件改變則快取無效判定):

  使用查詢快取session.createQuery("XXX")  .setCacheable(true)  .list();

  主對應檔中的配置:

  <property name="cache_use_query_cache">true</property>

  使用時query查詢時,setCacheable設定TRUE;


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.