暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Vertica之查找未使用过的projection

原创 何权林 2020-06-08
1577

环境:
OS:SUSE LINUX Enterprise Server 11
DB:9.1.1-13

说明:
Vertica是基于列式存储的MPP架构的关系型数据库,share nothing,支持横向扩展。适用场景:OLAP(数据仓库,数据分析,报表系统)数据存储量可达PB级,建议定期监控存储空间使用,避免影响集群性能。

查询集群中未使用的Projection:
select projection_schema,anchor_table_name,projection_name
from v_catalog.projections
where is_super_projection=‘f’
and prjection_name not in (select projection_name from v_monitor.projection_usage)
group by projection_schema,anchor_table_name,projection_name
order by anchor_table_name;

解释:
Vertica中的表不保存数据,存储数据的是projectoin(类似oracle的物化视图),每个表可以拥有多个projection。其中只能拥有一个super projection(此projection必须包含表的所有列)。另外,可以选择不同的列创建不同的projection,目的是为了提升查询效率,但是缺点是浪费了大量空间。(建议每个表创建的projection不超过3个)

每次SQL语句执行过程中只会用到表的一个projection,虽然你可能创建了多个projection,但是有些projection可能根本就没有被使用过,所以,建议定期执行上述SQL进行检查,将未使用过的projection(非super projection)进行drop,释放磁盘空间。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论