clickhouse与mysql查询速度对比

通过对308万行和1亿2千4百万行数据的对比测试,发现ClickHouse在处理复杂查询和大数据量时表现出显著优势,尤其是在处理TOPN、统计行数和多表关联查询上。然而,当查询列数较多时,MySQL速度较快。对于简单全表扫描,MySQL速度优于ClickHouse,但在大规模数据统计和复杂条件查询中,ClickHouse明显更快。
摘要由CSDN通过智能技术生成

数据准备工作:

    MySQL创建准备对比的表Bigtable并建立索引

CREATE TABLE Bigtable (
consumption_id VARCHAR(255),
member_id INT(11),
fans_id INT(11),
bill_date DATE,
money VARCHAR(255),
people_num INT(8),
dish_name VARCHAR(255),
created_org INT(8),
open_id VARCHAR(255),
subscribed_time DATETIME,
unsubscribed_time DATETIME,
source_type INT(8),
sns_type VARCHAR(255),
is_subscribed VARCHAR(255)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

CREATE INDEX indexbigtable ON bigtable(consumption_id,member_id,bill_date,created_org,source_type,sns_type,is_subscribed);

   将数据插入Bigtable,共308万行。

INSERT INTO bigtable SELECT a.consumption_id,a.member_id,b.fans_id,DATE(a.bill_date),a.need_pay_amount,a.people_num,a.dish_name,a.created_org,b.open_id,b.subscribed_time,
b.unsubscribed_time,b.source_type,b.sns_type,b.is_subscribed
FROM (
SELECT conn.consumption_id,conn.member_id,dish.dish_name,conn.bill_date,conn.people_num,conn.need_pay_amount,conn.created_org
FROM   `pos_consumption` AS conn 
INNER JOIN pos_dining_order AS porder ON conn.consumption_id = porder.consumption_id AND conn.created_org = porder.created_org
INNER JOIN pos_order_dish AS dish ON porder.order_id=dish.dining_order_id AND dish.created_org=porder.created_org
WHERE conn.`status_code`=1 
AND conn.`need_pay_amount` >0
) a
LEFT JOIN (SELECT fan.fans_id,fan.member_id,bind.open_id,bind.subscribed_time,bind.unsubscribed_time,fan.source_type,sns_type,is_subscribed   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值