欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > doris/clickhouse常用sql

doris/clickhouse常用sql

2025/4/21 19:46:29 来源:https://blog.csdn.net/m0_57808069/article/details/147355024  浏览:    关键词:doris/clickhouse常用sql

一、doris常用SQL

1、doris统计数据库的总大小(单位:MB) 

SELECT table_schema AS database_name,ROUND(SUM(data_length) / 1024 / 1024, 2) AS database_size_MB
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'sys', 'mysql')
GROUP BY table_schema;

2、doris查询所有数据库大小排名(从大到小)

SELECT table_schema AS database_name,ROUND(SUM(data_length) / 1024 / 1024, 2) AS database_size_MB
FROM information_schema.tables
GROUP BY table_schema
ORDER BY database_size_MB DESC;

3、 综合查询某数据库下各表的:表名、行数、大小(MB)

SELECT table_name,table_rows AS row_count,ROUND(data_length / 1024 / 1024, 2) AS table_size_MB
FROM information_schema.tables
WHERE table_schema = 'your_database'
ORDER BY table_size_MB DESC;

4、整个数据库的总行数 & 总大小:

SELECT table_schema AS database_name,SUM(table_rows) AS total_rows,ROUND(SUM(data_length) / 1024 / 1024, 2) AS total_size_MB
FROM information_schema.tables
WHERE table_schema = 'your_database'
GROUP BY table_schema;

5、查询数据库中是否存在 AGGREGATE 类型的表

SELECT table_schema,table_name,engine
FROM information_schema.tables
WHERE engine = 'OLAP'AND create_statement LIKE '%AGGREGATE KEY%'AND table_schema = 'your_database';

二、clickhouse常用SQL

1、统计所有表的原始数据大小(未压缩)

SELECTdatabase,name AS table_name,formatReadableSize(sum(bytes_on_disk)) AS raw_size
FROM system.tables
WHERE database = 'your_database_name'  -- 指定数据库名(可选)
GROUP BY database, table_name
ORDER BY sum(bytes_on_disk) DESC;

2、统计所有表的压缩后磁盘大小

SELECTdatabase,name AS table_name,formatReadableSize(sum(data_compressed_bytes)) AS compressed_size,formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed_size,round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 2) AS compression_ratio
FROM system.parts
WHERE active  -- 仅统计活跃的分区AND database = 'your_database_name'  -- 指定数据库名(可选)
GROUP BY database, table_name
ORDER BY sum(data_compressed_bytes) DESC;

3、统计所有表的行数及压缩后大小

SELECTdatabase,name AS table_name,formatReadableSize(sum(bytes_on_disk)) AS disk_size,sum(rows) AS total_rows,formatReadableSize(sum(data_compressed_bytes)) AS compressed_size,formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed_size,round((compressed_size / uncompressed_size) * 100, 2) AS compression_ratio
FROM system.parts
WHERE active  -- 仅统计活跃分区(排除临时或已删除的分区)AND database = 'your_database_name'  -- 指定数据库名(可选)
GROUP BY database, table_name
ORDER BY compressed_size DESC;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词