TIDB结果集处理问题

咨询各位专家:
一.当tidb全表扫描需要返回100G数据时,引擎是对这100G数据边读边向客户端发送,还是把这100G数据加载到内存后在进行发送。
二.客户端API对结果集游标处理方式,是边读边处理,还是全部缓存到本地后在进行处理,还是2种方式都支持。

使用场景:ETL大批量数据同步处理。
实际业务:某电信运营商经分数据处理。

这种数仓场景可以考虑使用 tiflash https://docs.pingcap.com/zh/tidb/dev/tiflash-overview

一般都不说一次性读这么多数据,要不然内存早就爆了

引擎返回给TiDB的只能算下推计算的中间结果数据,不是最终返回给客户端的,这部分数据是放在TiDB实例内存中的,当内存使用量达到mem-quota-query时会放在磁盘上(oom-use-tmp-storage默认为true),磁盘也没地方放时会按照oom-action设定进行处理。所以如果要返回100GB数据,那这些中间数据肯定是要在TiDB实例的内存和磁盘上先进行暂存,再发给客户端的