场景一
条件:
数据库有表A,里面有100W条数据。
操作
把表里面的数据全部取出来,进行处理
问题
- 能不能一次全部取出来?既通过
select 字段1,字段2 from A
来取出数据?
(除了防止取出数据取出太多导致内存溢出,还有什么需要考虑的吗?) - 这里需要确定每次需要取出来的数据的个数,需要考虑到哪些因素?
场景二
条件:
A服务有一批数据,需要调用B服务的接口来获取详细信息.B服务提供的是一个批量的接口
操作
A服务通过RPC调用B服务
问题:
- 这里的一批数据能不能通过B服务的批量接口,通过一次RPC全部取过来(如果不能。主要担心的是什么?)
- 这里需要确定每次查询数据的个数,需要考虑到哪些因素?
问题1
1. 可以先全部取出来,看看取出的数据有多大,如果只点几M的内存,一次性取出处理,应该没啥问题
2. 如果分批取,注意排序,防止分页取出相同的数据
问题2:
1.看数据量,如果并不大,就一次调用处理掉就好了
2.先去做吧,是问题总归会暴露出来的,从你简单的描述看,不知道有啥问题。