1、问题提出
在之前的文章一对多中,当我们有一个用户,他有一百个账户。
(1)在查询用户时,要不要把关联的账户信息查询出来?
(2)在查询账户时,要不要把关联的用户信息查询出来?
对于第一个问题,我们应该是什么时候需要查询账户信息,才查询。没必要每次查询用户信息都把账户信息也查询出来。因为如果每次都查询出账户信息,对我们的内存开销是很大的,而且每次查询也都不一定用到账户信息。
对于第二个问题,我们就可以在查询账户信息的时候查询出关联的用户信息,因为我们如果只是单纯的账户信息没有说明用户是谁,这对于我们来说是不友好的。也没什么意义,所以在每次查询账户信息的时候都要显示出关联的用户信息。
2、延迟加载和立即加载
第一个问题其实就是延迟加载。
第二个问题就是立即加载。
延迟加载
在真正的使用数据时才发起查询,不用的时候不查。按需加载(懒加载)。
立即加载
不管用不用,只要一调用方法,马上发起查询。