doris/clickhouse常用sql

一、doris常用SQL

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

sql 复制代码
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查询所有数据库大小排名(从大到小)

sql 复制代码
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)

sql 复制代码
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、整个数据库的总行数 & 总大小:

sql 复制代码
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 类型的表

sql 复制代码
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、统计所有表的原始数据大小(未压缩)

sql 复制代码
SELECT
    database,
    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、统计所有表的压缩后磁盘大小

sql 复制代码
SELECT
    database,
    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、统计所有表的行数及压缩后大小

sql 复制代码
SELECT
    database,
    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;
相关推荐
萧曵 丶4 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
胡斌附体8 分钟前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置
moon66sun17 分钟前
开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
数据库·esb
TDengine (老段)36 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
DarkAthena42 分钟前
【GaussDB】深度解析:创建存储过程卡死且无法Kill会话的疑难排查
数据库·gaussdb
Gauss松鼠会1 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说1 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
unhurried人生——冕临1 小时前
Ubuntu安装ClickHouse
clickhouse
Java初学者小白2 小时前
秋招Day15 - Redis - 缓存设计
java·数据库·redis·缓存
绅士玖2 小时前
前端数据存储总结:Cookie、localStorage、sessionStorage与IndexedDB的使用与区别
前端·javascript·数据库