延迟加载和立即加载的概念

在一对多的多表查询当中,当我们有一个用户,它有100个账户。

问题1

  1. 在查询用户的时候,要不要把关联的账户查出来?

很显然最合适的做法应该是,我们需要谁就查询出来谁,而不是说在查询用户的时候,关联的账户也被查出来。
当我们的用户对象只有一个,但是关联的账户信息有一千个,而我们只想查询一个用户信息,但是因为关联了账户信息所以也把一千个账户信息加载出来了,这样看来这种操作是非常浪费资源的

由此引入了延迟加载

延迟加载

真正在使用数据时才发起查询,不使用的时候不查询。也称之为按需加载(懒加载)


问题2

  1. 在查询账户的时候,要不要把关联的用户查出来?

在查询账户信息时,账户的所属用户信息应该是随着账户查询时一起查询出来

由此引入了立即加载

立即加载

不管用不用,只要一调用方法,马上发起查询


在四种表关系中

  1. 一对多、多对多:通常情况下我们都是采用延迟加载
  2. 多对一、一对一:通常情况下我们都采用立即加载
posted @ 2021-01-08 09:53  谢海川  阅读(53)  评论(0)    收藏  举报