clickhouse 占用磁盘空间过大

333 阅读1分钟

clickhouse 占用磁盘空间过大

问题描述

我是使用docker创建的clickhouse数据库。数据库的文件映射的data文件过大。

使用DBeaver连接该clickhouse 数据库,能够看到每个数据库,以及每个数据表占用的空间大小。发现每个数据表的空间都没有占用很大。

解决方法

经过网络搜索发现,clickhouse有一个隐藏的system 数据库,记录日志等信息。

使用DBeaver连接数据库,然后执行如下的语句查看磁盘使用情况。

SELECT database, table, formatReadableSize(sum(bytes_on_disk)) as disk_space FROM system.parts GROUP BY database, table ORDER BY disk_space DESC;

image.png

可以看到是system数据库下的各种 log 表占用的空间过大。

解决方法就是清空这些日志表。

truncate table  query_log;

truncate table  trace_log;

truncate table  query_thread_log;

哪个表占用空间大,清空哪个表就是了。

[参考链接](blog.csdn.net/dongjing991…