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查询会放入到缓存,但每次查询前会先检查缓存中是否有数据,有则从缓存中取,没有则去查询数据库。

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