【问题标题】:Is that possible to query millions of row back with ClickHouse是否可以使用 ClickHouse 查询数百万行
【发布时间】:2019-12-20 05:38:27
【问题描述】:

我知道 ClickHouse 可能不是使用 SQL 获取数百万行(只有几列)的合适数据库,如下所示:

select col1, col2, .., date from table where col0='a1' and date >= 'start_date' and date 'end_date'

但目前我面临这样的情况。有人可以告诉我它的性能吗?

1. Maximize rows queried from one "select" SQL 
2. Any optimization for fast response

提前致谢。

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    CH 能够每秒返回数百万行。

    测试 1 亿行 / 3GB:

    CREATE TABLE XX
    ENGINE = MergeTree
    ORDER BY A AS
    SELECT
        number AS A,
        toDate(number % 103) AS B,
        toString(number) AS C,
        number % 1003 AS D
    FROM numbers(100000000)
    
    time curl -o t 'http://localhost:8123/?query=select%20A,%20B,%20C,%20D%20from%20XX'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 3115M    0 3115M    0     0   413M      0 --:--:--  0:00:07 --:--:--  404M
    
    real    0m7.840s
    
    
    time clickhouse-client -q 'select A,B,C,D from XX' > /dev/null
    real    0m6.451s
    

    1 百万行/30MB

    time curl -o /dev/null 'http://localhost:8123/?query=select%20A,%20B,%20C,%20D%20from%20XX%20prewhere%20B=toDate(1)'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 30.2M    0 30.2M    0     0  93.0M      0 --:--:-- --:--:-- --:--:-- 92.7M
    
    real    0m0.329s
    
    time clickhouse-client -q 'select A,B,C,D from XX prewhere B=toDate(1)' > /dev/null
    
    real    0m0.344s
    

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2019-02-20
      • 2018-12-26
      • 2023-01-05
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2014-12-07
      • 2018-12-01
      相关资源
      最近更新 更多