是否可以使用 ClickHouse 查询数百万行
Posted
技术标签:
【中文标题】是否可以使用 ClickHouse 查询数百万行【英文标题】:Is that possible to query millions of row back with 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
提前致谢。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于是否可以使用 ClickHouse 查询数百万行的主要内容,如果未能解决你的问题,请参考以下文章