延迟加载的理解

来源:互联网 发布:程序员的线性代数 知乎 编辑:程序博客网 时间:2024/04/18 13:49
1.什么是延迟加载
在代码中的理解就是延迟加载数据,其实也就是延迟执行sql语句
2.为什么要使用延迟加载
其实是为了提高数据库的访问效率,因为往往设计到多表查询的时候,这样很影响查询效率 ,所以引入了延迟加载, 提高执行效率,来实现优化性能的目的,因为查询的表越少,效率越高。
3.在什么场合下使用延迟加载
按需加载,就是需要的时候才加载,比如订单表,加载订单数据的时候,如果只是用到订单信息,而不需要用户信息,这样就直接查询订单表,即可,但是如果需要用户信息,

List<Orders> orders 中遍历查出来的订单对象,调用order的getUser时,就会根据user_id 查询用户信息,实现按需加载!!


下面说下mybatis的缓存:

1.mybatis的一级缓存
是mybatis自动开启-----session级别的缓存
2.mybatis的二级缓存
要手动开启--------是多个session共享一块区域,跨session也就是跨请求
3.分布式缓存? 什么是分布式缓存,存在的意义是什么
随着用户量的增大,和访问量的增加,为了提高系统性能,势必要做集群,但是集群这就涉及到缓存的共享,传统的缓存是解决不了的,所以分布式缓存就解决了缓存共享问题,是该问题的解决方案

0 0
原创粉丝点击