Vertica系列:数仓优化

本文介绍了几种实用的数仓性能优化方法,包括使用explain工具检查资源内存和执行时间,利用dbeaver工具进行性能剖析,通过创建临时表简化复杂查询,采用Delete+Insert替代merge和update操作,以及使用/*+DIRECT*/指令提升大量数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近才开始接触数仓性能优化,好像走进迷宫,头上永远顶着两句话:
这个是啥,那个是啥
因为数仓好像没啥性能优化的,可能这是小白的一种自我良好认知
根据我们的业务,优化工具经常用到的有以下两个
1、和mysql 类似。用 explain 工具
用这个工具,主要是用来查 资源内存和执行语句的时间问题
这也是关乎性能的基本指标
2、用命令 或者工具 dbeaver,查看输出, profile
这个没怎么看过,不做解释了,欢迎有用过的,来探讨

3、最近学到的优化方法,好像也不是什么高深的东西

1、 对于复杂的子查询语句,超过三个,四个的模型关联,就创建临时结果表,分步进行,曲线救国
2、最好不要用 merge 和 update ,多用 使用 Delete+Insert 。用了之后,大家都说好
3、尽量清空表,最好不要删除表,虽然delete 比较干脆利落的,但是数据量大,删除也是一项巨大工作量,,尝试分区删除,或者 truncate
4、 最原始的一个计划,应该是第一步就是构建模型时的分区 partition by 时,涉及分区字段要注意,避免数据倾斜
5、 涉及 很大的数据量,脚本开发多使用 /*+ DIRECT */
来代替 insert 或者 update ,
最近用这个比较多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值