首页 > 数据库 >使用clickhouse和mysql查询时间对比

使用clickhouse和mysql查询时间对比

时间:2023-06-10 17:55:18浏览次数:59  
标签:UInt32 String 查询 mysql test table id clickhouse

业务场景,对于数据量过大的数据统计,跑脚本会很吃力

先建立一个clickhouse的mysql引擎表关联本地mysql数据表,以下这个表会自动同步mysql主表数据

CREATE TABLE test_table (
  id UInt32,
  message String,
  content String,
  remark String,
  order_id String,
  user_id UInt32,
  recharge_amount UInt32,
  bonus Decimal(10,2),
  create_time Datetime,
  update_time Datetime
)
ENGINE = MySQL('127.0.0.1:3306','you_database','you_table','you_user','you_password');

再在clickhouse建立一个mergetree引擎数据表:

CREATE TABLE my_test_table (
  id UInt32,
  message String,
  content String,
  remark String,
  order_id String,
  user_id UInt32,
  recharge_amount UInt32,
  bonus Decimal(10,2),
  create_time Datetime,
  update_time Datetime,
  PRIMARY KEY (id)
)
ENGINE = MergeTree()
ORDER BY (id,create_time) 
SETTINGS index_granularity = 8192;

将test_table 数据插入到my_test_table :
INSERT INTO my_test_table SELECT * FROM test_table;

如图是mysql执行,需要耗时22s
select sum(recharge_amount) from test_table;

如图是clickhouse执行,耗时75ms,连一秒都不到:

对比下来,都知道用什么了吧

标签:UInt32,String,查询,mysql,test,table,id,clickhouse
From: https://www.cnblogs.com/stronger-xsw/p/17471670.html

相关文章

  • 使用python插入一亿数据到mysql
    应用场景,数据库数据达到千万以后,做数据分析执行脚本开始变慢,所以用到clickhouse,先插入一亿数据测试先安装pip支持mysql.connector,我安装的python3.11pip3installmysql-connector-python再使用pip3list查看是否安装成功以下是mysql创建表语句CREATETABLE`test_table`(......
  • MySQL 事务的两阶段提交
     什么是事务事务是数据库中一组原子性的操作,要么全部成功,要么全部失败。事务具有四个特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称ACID。在MySQL中,我们可以使用 begin 或 starttransaction 命令开启一个事务,使用 commit 命令......
  • Python操作Excel文件中多WorkSheet模拟数据库内连接查询
    严格意义上来讲,是可以把Excel文件看作数据库的,C#通过OLEDB.net就可以使用SQL语句操作Excel文件中的数据。本文代码使用Python扩展库openpyxl操作Excel文件中多个WorkSheet中的数据,模拟了数据库的内连接。假设Excel文件名为data.xlsx,其中第一个WorkSheet数据如下:第二个WorkSheet数据......
  • mysql创建表时,字段的类型(转载)
    常用的字段类型大致可以分为数值类型、字符串类型、日期时间类型三大类,下面我们按照分类依次来介绍下。1、数值类型数值类型大类又可以分为整型、浮点型、定点型三小类。  2、字符串类型字符串类型也经常用到,常用的几个类型如下表: 其中char和varchar是最常用到......
  • mysql 主从复制 原理
     mysql主从复制定义mysql主从复制是一种数据同步的技术,它可以让一个或多个从数据库(slave)复制主数据库(master)的数据变化。这样可以提高数据库的可用性、性能和扩展性,也可以实现读写分离和数据备份。mysql主从复制原理mysql主从复制的原理是基于二进制日志(binlog)的,主数据库......
  • mysql MVCC 原理
    MVCC的定义MVCC,即多版本并发控制,是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC的目的是为了提高数据库的并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。MVCC的目的在MySQL中,InnoDB......
  • 本地mysql服务无法启动 解决方案
    问题引入:在我启动SQLyog时,无法连接mysql,检查MYSQL服务,并无法手动启动,由此一下是解决步骤。首先,以管理员身份打开cmd。进入到mysql的bin目录,这里需要各位去文件找找路径;在bin下,删除mysqld的所有内容;​ mysqld--remove成功:Servicesuccessfullyremoved.......
  • Python 3.x对MySQL数据库的常用操作
    首先安装MySQL,然后使用pipinstallpymysql安装扩展库,最后执行下面的代码。运行结果:公众号“Python小屋”......
  • MySQL数据库安全评估工具
    MySQL数据库安全评估工具MySQLDatabaseSecurityAssessmentTool   MySAT执行多项测试以分析数据库配置和安全策略。MySAT可以帮助评估并因此提高MySQL数据库的安全性。MySAT是一个简单的SQL脚本,它易于理解,易于维护。MySAT的结果是一份HTML格式的报告。MySQL数据库安全评估......
  • 分页查询和条件分页查询
    分页查询分析:分析文档要求查看前端传递给后台的参数分析参数进行编码后台返回给前端的数据思路浏览器->Controller层->Service层->Mapper层->数据库设置分页拦截器@ConfigurationpublicclassMybatisPlusConfig{@BeanpublicMybati......