gpt4 book ai didi

clickhouse - 为什么 ClickHouse 客户端返回多个表?

转载 作者:行者123 更新时间:2023-12-04 01:12:00 28 4
gpt4 key购买 nike

我对 Clickhouse 很陌生,我的第一次尝试似乎总是为 SELECT 生成这种输出:

:) select * from test

SELECT *
FROM test

┌─s───┬───i─┐
│ foo │ 123 │
└─────┴─────┘
┌─s───┬───i─┐
│ bar │ 567 │
└─────┴─────┘

我希望是这样的:
┌─s───┬───i─┐
│ foo │ 123 │
│ bar │ 567 │
└─────┴─────┘

为什么我得到单独的行?是表结构引起的吗?这是 test的结构 table :
CREATE TABLE test
(
s String,
i UInt64
) ENGINE = Memory

最佳答案

背景

ClickHouse 有一个矢量化查询执行引擎,这意味着在解释查询时,它会批量消费数据。批处理的定义与底层存储引擎密切相关。由于您使用的是 内存引擎,它制定每个插入的批次(或将大插入拆分为单独的批次,w.r.t max_insert_block_size 设置)。

回答

您在查询输出中获得单独的表行的原因如下:

  • 您已将两个块(两个 INSERT 语句)插入到 中测试 表,因此从它扫描生成两个块。
  • 您使用的查询不包含任何合并块的阻塞运算符(分组依据、排序依据等)。所以生成的块一一返回。
  • 命令行客户端在收到块时立即打印块。
  • 关于clickhouse - 为什么 ClickHouse 客户端返回多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55302833/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com