我使用crontab安排一个sql,每2小时查询一个大表。
select a,b,c,d,e,f,g,h,i,j,k,many_cols from big_table format Null
每次需要5分钟到30秒。
我能从照片上看到什么 query_log
当sql时间较小时 MarkCacheHits
价值是高的,当时间是高的 MarkCacheHits
值很低,并且 MarkCacheMiss
价值很高。
我想知道如何让马克·cache尽可能多的命中(这可能不是唯一一张需要加热的大table)
标记缓存会被其他查询替换吗?它的限制是什么?
选择特定列的预热方式真的适用于这些列的聚合查询吗?例如,预热sql如上所述,聚合查询可以是 select a,sum(if(b,c,0)) from big_table group by a
我的clickhouse服务器最近偶尔挂起,从日志中看不到相应时间的任何错误或异常。这是否与我对大table的常规热身询问有关?
1条答案
按热度按时间klr1opcd1#
实际上,您需要将数据放入linux磁盘缓存。
标记缓存会被其他查询替换吗?它的限制是什么?
是,将被替换,5gb
<mark_cache_size>5368709120</mark_cache_size>
选择特定列的预热方式真的适用于这些列的聚合查询吗?是的,因为你把文件放进了linux缓存。
这是否与我对大table的常规热身询问有关?
不。