<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0

    在hibernate當中重點比較了find及iterate的使用,主要是他們在查詢數據時的優劣勢的比較,而由session.find()方法也引申出了query cache這個概念及對find在查詢時的劣勢的解悶方案。雖然query cache在使用上還是有很多的局限,但是它對提高find的性能起到了很大的作用。

    在Hibernate2.0當中使用:session.find(),session.iterate(),而hibernate3.0當中使用的是query.find(),query.iterate()來代替。

    下面我們著重分析一下這兩個方法的使用:

    ? 1. 如果我們在使用find,iterate進行查詢時分別構建他們的HQL,那么我們在控制臺輸出當中看到iterate()方法所使用的SQL語句的次數要遠遠超過Find()。

    ? 但是,為什么iterate()還存在呢?

    ? 2. 當我們在使用find構建HQL后,而同樣的查詢也讓iterate()來執行一次的話(前提是必須使用find()構建的HQL),那么iterate()的執行并不再像前面介紹的那樣會比find()方法多執行SQL,而是根本再執行一條SQL。這就是iterate()方法的使用。它使用了Hibernate緩存機制.Find()方法在查詢出結果后把查詢結果集置入緩存,而iterate()執行的時候先執行一條Select SQL,查詢所有符合條件的結果集,接下來iterate()根據查詢的id在本地緩存中查找符合條件的結果集,如果有完全符合條件的結果集,則直接以此作為返回結果。如果沒有找到再執行相應的SQL,并且把結果納入緩存當中。以備使用



    3.緩存機制并不對find()方法起使用。如果你兩次執行相同條件的或相近條件的HQL,第二個方法的SQL并不減少。還會照常執行。這就是說緩存機制并不對find()方法起作用。find()對緩存只寫不讀,而iterate()方法就可以充分利用緩存的優勢。

    4.內存方面的考慮,除了緩存的優勢之外,我們還可以利用iterate()與evict()方法來提升查詢性能上的優勢。

    ???? 這個問題主要是大數據量所帶來的考慮。因為find()方法可以對大數據量的結果集進行緩存,但是如果數據量超大的話,也會帶來內存溢出方面的問題。利用iterate(),evict()可以對記錄進行逐條處理,將內存消耗保持在可接受的范圍之內。

    ? 它包括從session中消除對對象,及從sessionFactory當中消除對象。

    5.?對于find()方法在讀取緩存問題方面的解決。Query Cache是一個解決方案,不過目前的使用受限比較大。

    ??? 使用Query Cache的條件是:

    ????? A。數據庫表結構不變。即未發生過update,insert,delete等操作

    ????? B。相同的HSQL的重復執行操作。

    由于以上兩個原因,query Cache的使用上受到了很大 的限制。

    如果想使用query cache我們需要配置 hibernate.cfg.xml文件:

    <class ......>

    ?? <property nam="hibernate,cache.use_query_cache">True</property>

    </class>



    在編碼當中使用:Query.setQueryCache(true);即可。

    posted on 2006-07-25 16:03 水煮三國 閱讀(3599) 評論(0)  編輯  收藏 所屬分類: Hibernate
    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 211656
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久WWW成人免费精品| 亚洲精品国产肉丝袜久久| 色窝窝亚洲AV网在线观看| 无码精品A∨在线观看免费 | 免费无码又爽又刺激高潮视频| 国产亚洲成归v人片在线观看| 永久免费观看黄网站| 亚洲 小说区 图片区 都市| 美女视频黄频a免费| 男人的天堂亚洲一区二区三区 | 亚洲日本一区二区三区| 日本一道本不卡免费| 亚洲无删减国产精品一区| 99爱在线观看免费完整版| 4444亚洲国产成人精品| 免费精品国产日韩热久久| 亚洲色丰满少妇高潮18p| 免费视频中文字幕| 国产成人综合亚洲| 亚洲中文字幕久久精品无码APP| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 成人影片麻豆国产影片免费观看| 亚洲国产成人AV在线播放| 亚洲成A人片在线观看中文| 你是我的城池营垒免费看| 亚洲欧洲国产精品久久| 国产男女猛烈无遮挡免费视频| 一区二区三区免费视频播放器| 无码乱人伦一区二区亚洲一| aa级一级天堂片免费观看| 日本黄页网址在线看免费不卡 | 亚洲自偷自偷偷色无码中文| 99蜜桃在线观看免费视频网站| 亚洲 欧洲 视频 伦小说| 亚洲国产成人精品女人久久久| 免费精品无码AV片在线观看| 亚洲欧洲av综合色无码| 超清首页国产亚洲丝袜| 91成年人免费视频| 一级做a爰性色毛片免费| 亚洲欧洲日本天天堂在线观看|