【 TiDB 使用环境】Poc
【 TiDB 版本】6.3.0
【遇到的问题】参数解释和实际情况不太一样
官方文档解释这个参数的作用是: 这个变量用于控制 IndexLookUp
算子是否使用分页 (paging) 方式发送 Coprocessor 请求,但是实际上全表扫描等其它读表操作也会也会受到影响。
为避免不知道实际cop_task并行度是多少的问题,这里先设置tidb_distsql_scan_concurrency=1,分别做tidb_enable_paging=OFF,tidb_enable_paging=ON的情况,观察explain analyze select * from tpch.orders 实际执行过程行为,如下:
可以看到开启了paging后rpc次数增多了,很多倍,内存使用也减少了很多。
paing从tidb_min_paging_size=128,每次请求增加10倍,最多增加到tidb_max_paging_size=50000行记录的请求。这样在减少内存使用的情况下也尽可能的保证效率。
从实际测试来看不仅仅是控制 IndexLookUp
算子取数行为,官方文档这么解释是否不全面呢?