-查看版本
select version();
-查看库
show databases;
-使用库
use databaseName;
-查看表
show tables;
-新建库
create database ck_test ;
-删除库
drop database ck_test;
-查看群状态
SELECT * FROM system.clusters
1.ClickHouse Client命令
①交互模式
clickhouse-client
clickhouse-client --host=... --port=... --user=... --password=...
②启用多行查询
clickhouse-client -m
clickhouse-client --multiline
③以批处理模式运行查询
clickhouse-client --query='SELECT 1'
echo 'SELECT 1' | clickhouse-client
clickhouse-client <<< 'SELECT 1'
④从指定格式的文件中插入数据
clickhouse-client --query='INSERT INTO table VALUES' < data.txt
clickhouse-client --query='INSERT INTO table FORMAT TabSeparated' < data.tsv
2.会话相关的管理语句
SHOW PROCESSLIST;
-kill 查询
kill query where query_id='a410013e-f8f6-4ba7-a23a-48ae43535041';
-获取 mutation 操作
-CH 的 update 和 delete 操作,算 DDL 操作,CH 称为 mutation,而要确定 mutation 队列
SELECT * FROM system.mutations;
-kill mutation 操作
KILL MUTATION mutation_id = 'trx_id';
3.磁盘空间相关的管理语句
---查看表所使用的空间
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;
---查看库大小
-下面的 SQL 是查看库大小并排序:
SELECT database, sum(bytes_on_disk) as db_size FROM system.parts GROUP BY database order by db_size desc;
4.性能相关
-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
-2.正在执行的 SQL 概要
正在执行的查询总次数、正在发生的合并操作总次数
select * from system.metrics limit 5;
-3.累积 SQL 概要
查看服务运行过程总的查询次数、总的 select 次数
select * from system.events limit 5;
-4.正在后台运行的概要信息
查看当前分配的内存、执行队列中的任务数量等
select * from system.asynchronous_metrics limit 5;
5.复制相关
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
检查复制是否异常
6.SQL 基准测试
ClickHouse 自带基准测试工具 clickhouse-benchmark,用法如下:
echo "select * from testcluster_shard_1.tc_shard_all;" |clickhouse-benchmark -i 5
-i 5 表示 SQL 执行 5 次
会显示 QPS、RPS 及各百分位的查询执行时间