list查詢和iterator查詢的區別

1、list查詢
(1) Query接口中定義的方法。
(2) 一次查詢所有數據。
2、iterator查詢
(1) Query接口中定義的方法
(2) 先查詢滿足條件數據的id,再根據每一個id,進行主鍵進行查詢,有多少條數據就查詢多少次,即一共查詢N+1次(N代表中記錄數)。
(3) 迭代數據時,如果用到了數據,纔會去查詢數據庫(懶加載),沒有用到數據,則不會去查詢。
3、區別
(1) 查詢的方式不同,list一次查詢全部,iterator查詢N+1次。
(2) 一級緩存
list查詢會放入到緩存,但不會從緩存中取數據
iterator查詢會放入到緩存,但每次查詢前會先檢查緩存中是否有數據,有則從緩存中取,沒有則去查詢數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章