作者简介

马听,多年 DBA 实战经验,对 MySQL、 Redis、ClickHouse 等数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》、《Redis 运维实战》作者。

这篇文章来总结下 CH 常用的管理语句。

1 会话相关的管理语句

我们经常需要确定数据库当前正在执行的 SQL,CH 提供了一些系统表用于记录这些信息,具体用法如下:

1.1 获取活跃会话

SELECT query_id, user, address, elapsed, query   FROM system.processes ORDER BY query_id;

或者跟 MySQL 一样,执行:

SHOW PROCESSLIST;

1.2 kill 查询

如果某条 SQL 运行的太久了,影响到实例性能了,则可以与业务确定后,进行 kill 操作:

kill query where query_id='a410013e-f8f6-4ba7-a23a-48ae43535041';

1.3 获取 mutation 操作

CH 的 update 和 delete 操作,算 DDL 操作,CH 称为 mutation,而要确定 mutation 队列,可以使用下面的 SQL:

SELECT * FROM system.mutations;

1.4 kill mutation 操作

KILL MUTATION mutation_id = 'trx_id';

2 磁盘空间相关的管理语句

2.1 查看表所使用的空间

SELECT database, table, partition, name part_name, active, bytes_on_disk FROM system.parts where database not in 'system' ORDER BY database, table, partition, name;

2.2 查看库大小

下面的 SQL 是查看库大小并排序:

SELECT database, sum(bytes_on_disk) as db_size  FROM system.parts   GROUP BY database order by db_size desc;

3 性能相关

3.1 慢查询

可以在 users.xml 配置文件中设置 log_queries = 1 来开启慢查询记录。而需要定位到慢查询可以使用下面的 SQL:

SELECT  user, client_hostname AS host, client_name AS client,formatDateTime(query_start_time, '%T') AS started,query_duration_ms / 1000 AS sec, round(memory_usage / 1048576) AS MEM_MB, result_rows AS RES_CNT,toDecimal32(result_bytes / 1048576, 6) AS RES_MB, read_rows AS R_CNT, round(read_bytes / 1048576) AS R_MB, written_rows AS W_CNT, round(written_bytes / 1048576) AS W_MB, query FROM system.query_log WHERE type= 2 ORDER BY query_duration_ms DESC LIMIT 10

3.2 正在执行的 SQL 概要

正在执行的查询总次数、正在发生的合并操作总次数

select * from system.metrics limit 5;

3.3 累积 SQL 概要

查看服务运行过程总的查询次数、总的 select 次数

select * from system.events limit 5;

3.4 正在后台运行的概要信息

查看当前分配的内存、执行队列中的任务数量等

select * from system.asynchronous_metrics limit 5;

4 复制相关

检查复制是否异常:

SELECT database, table, is_leader, total_replicas,active_replicas FROM system.replicas  WHERE is_readonly  OR is_session_expired OR future_parts > 20  OR parts_to_check > 10  OR queue_size > 20 OR inserts_in_queue > 10  OR log_max_index - log_pointer > 10  OR total_replicas 2  OR active_replicas 

5 SQL 基准测试

ClickHouse 自带基准测试工具 clickhouse-benchmark,用法如下:

echo "select * from testcluster_shard_1.tc_shard_all;" |clickhouse-benchmark -i 5
-i 5 表示 SQL 执行 5 次

会显示 QPS、RPS 及各百分位的查询执行时间,上面的举例语句执行结果如下:专栏《ClickHouse 实战笔记》系列文章推荐第01期:Kafka 数据同步到 ClickHouse第02期:ClickTail+CH 实现 MySQL 慢查询实时展示第03期:使用 Grafana 展示 ClickHouse 数据第04期:ClickHouse 高可用集群搭建第05期:ClickHouse 环形复制集群搭建欢迎加入 ClickHouse 交流群,入群请添加下方群秘微信,备注“ClickHouse”,等待群秘邀你入群。

LIKECOLUMN

悦专栏

在这里,学好编程

做更优秀的 IT人!

clickhouse 同步mysql_ClickHouse 常用管理命令相关推荐

  1. Dell服务器RAID常用管理命令总结 linux

    Dell服务器常用管理命令总结 准备 新版本的 MegaCli-1.01.24-0.i386.rpm 会把程序安装在/opt下,可以自定义安装目录,例如: rpm --relocate /opt/=/ ...

  2. Dell服务器RAID常用管理命令总结

    介绍 MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好 ...

  3. Dell服务器常用管理命令总结

    Dell服务器常用管理命令总结 具体信息指令 查看机器型号#dmidecode|grep"Product" 查看厂商#dmidecode|grep"Manufacture ...

  4. mysql参数优化步骤_MySQL架构优化实战系列4:SQL优化步骤与常用管理命令2(转)

    MySQL架构优化实战系列4:SQL优化步骤与常用管理命令 原文:http://dbaplus.cn/news-11-649-1.html 一.SQL语句优化步骤 1.查看MySQL状态及配置 sho ...

  5. oracle的cbd和pdb区别,Oracle 12C CDB、PDB常用管理命令

    Oracle 12C CDB.PDB常用管理命令 --查看PDB信息(在CDB模式下) show pdbs --查看所有pdbselect name,open_mode from v$pdbs; -- ...

  6. Linux学习笔记之环境配置和常用管理命令

    一.环境配置 修改ip地址(略过) 1.网络通信命令 <1> ping 测试网络的连通性 ping 选项 IP地址 -c 指定发送次数 <2> ifconfig 查看和设置网卡 ...

  7. Docker的常用管理命令Docker将数据挂载到容器的三种方式

    文章目录 镜像管理命令 容器管理常用命令 docker run常用参数 Docker run的其他参数 docker 创建容器命令 容器资源限制 docker管理容器常用命令 docker将数据挂载到 ...

  8. Oracle 11g常用管理命令(用户、表空间、权限)

    PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...

  9. linux下mq重启命令,MQ常用管理命令

    1-说明 本文参考MQ 9.0官方文档,结合平时使用整理,主要是Linux平台下的命令为主,部分平台(例如windows)会特别注明. 2-语法规则 命名规则与限制 - Queue,Process,n ...

  10. docker专题(2):docker常用管理命令(下)

    1. 开启/停止/重启container(start/stop/restart) 容器可以通过run新建一个来运行,也可以重新start已经停止的container,但start不能够再指定容器启动时 ...

最新文章

  1. cv2.error: OpenCV(4.0.0): dst.data == (uchar*)dst_ptr in function 'cvShowImage'
  2. 201711月04日普及组 Array
  3. scratch跳一跳游戏脚本_涂鸦骑士3D版强势屠榜,腾讯跳一跳“宝刀未老” | 休闲新游周报...
  4. CSS的盒子模型(Box Model)
  5. android studio 手动安装gradle,Android Studio 如何安装Gradle?
  6. php实现文件留言,PHP文件操作及实例:留言板
  7. uniapp光标自动定义到文本框_特检自动化行吊静力检测方案
  8. 怎样对流媒体进行压力测试_对node工程进行压力测试与性能分析「干货」
  9. Redis基础(十)——性能监控和监视器
  10. IT报表开发者必看:别加班了,真正解放双手的低代码开发神器来了
  11. 动态sql语句基本语法
  12. 平衡二叉树(AVL树)和红黑树区别
  13. ie8兼容性视图灰色修复_win8系统设置IE8浏览器兼容性视图的方法
  14. win7 快速启动栏 里的快捷方式存放路径
  15. dumprep 0 -u进程是否病毒?
  16. 移动端下拉刷新与页面内滑动冲突问题 iscroll 固定行表头 苹果下拉反弹
  17. 异构数据源离线同步工具之DataX的安装部署
  18. 《响应式Web图形设计》一1.4 布置页面内容
  19. 费曼技巧在学习中的应用
  20. 前端实现旗帜飘动效果系列 (Ⅰ):dom+css实现

热门文章

  1. 剑指offer 66题 -- 丑数
  2. 慢查询日志分析工具mysqldumpslow
  3. Hibernate框架(一)——总体介绍
  4. EditPlus Version 3 价格 代理商 销售价格 正版软件价格
  5. Win7 64位 IIS未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项
  6. (转载的)C#using的用法
  7. Lotus Traveler 8.5.1的安装及配置
  8. 【算法】排序_直接插入排序及其 优化(希尔排序)
  9. 在线切换主题颜色无效_HeyUI组件库 | 如何实现在线切换主题
  10. apache做yum源_svn+apache的yum源安装方式