read_in_order_two_level_merge_threshold
按主键顺序进行多线程读取时,触发 预合并 步骤所需读取的最少 parts 数量。read_in_order_use_buffering
按主键顺序读取时,在合并前先进行缓冲。这样可以提高查询执行的并行度read_in_order_use_virtual_row
按主键或其单调函数的顺序读取时,使用虚拟行。在跨多个 parts 搜索时,只会读取实际能对结果产生贡献的 parts,同时通过最多包含max_threads 个 parts 的有界预读窗口保持并行读取。
read_in_order_use_virtual_row_per_block
当与read_in_order_use_virtual_row 一起启用时,每读取一个块后都会发出一条虚拟行 (而不仅仅是在每个 parts 的开头) 。
这使 MergingSortedTransform 能更频繁地重新调整各源的优先级,这在下游过滤器丢弃大量行、且数据在各个 parts 之间分布不均时尤其有用。
请注意,这会禁用读取时的 read_in_order_use_buffering 优化和预合并 (read_in_order_two_level_merge_threshold) 。