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查询会放入到缓存,但每次查询前会先检查缓存中是否有数据,有则从缓存中取,没有则去查询数据库。
list查询和iterator查询的区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java中枚举类的使用
枚舉:一些方法在運行時,它需要的數據不能是任意的,而必須是一定範圍內的值,可以直接使用枚舉予以解決。 枚舉類的定義格式: enum 類名{//枚舉值
moon-start
2020-07-05 11:10:13
springboot配置redis缓存
勇智
2020-07-03 00:28:16
剖析fail-fast机制和ConcurrentModificationException
淹不死的水
2020-06-30 06:39:38
java 日期格式转化遇到的坑
Patrick Jia ~~
2020-06-29 11:48:27
Arthas--深入排查java进程消耗CPU或内存过高问题
Patrick Jia ~~
2020-06-29 11:07:04
CGLib与JDK实现动态代理的区别
hukailee
2020-06-27 15:18:20
javaSE基础-移位运算
achieve-mr.j
2020-06-25 04:53:28
多线程里注入service的方法
achieve-mr.j
2020-06-25 04:53:16
模拟tcp服务
m0_38044453
2020-06-23 19:49:53
[java]枚举学习
測試代碼 [java] view plain copy print?package com.lxk.enumTest; /**
AI蒸汽人
2020-06-22 09:24:14
【java】 HashMap与ConcurrentHashMap的区别
AI蒸汽人
2020-06-22 09:24:14
list stream按照对象多个属性进行排序
JavaGirl_亚兰
2020-06-19 19:15:15
list.stream.map的使用
JavaGirl_亚兰
2020-06-19 18:09:47