当前位置: 首页 > ai >正文

vertica优化

找到之前年度汇报的ppt,把优化方法分享一下,也做一个留存。

1vertica数据重新分布分为两种:

Broadcasting广播: 将完整的中间结果或表记录集复制到每个节点

Resegmentation重分布: 将现有Projection数据或中间结果按照关联等字段重新分布到每个节点,如果需要得到数据全集,则需要合并每个节点上的记录

2、避免数据重新分布的方式需要重新选择Projection的部分键或者修改分布方式:

GROUP BY子句包含的字段需要包含所有分布键(比分布键多是可以的)

GROUP BY 时候字段的顺序要与Projection中字段的顺序一致。

Projection要是不自己创建的话,vertica数据库会按照表定义前面32个字段进行数据分布,自动创建。

3、避免出现Resegmentation重分布的方法:

数据量比较大的时候,要是创建临时表的话需要使用order by关联字段名 segmented by hash(关联字段名)来创建临时表,实体表的话需要重新设计Projection

数据量比较小的时候,创建临时表的话使用unsegmented by hash(关联字段名)来让数据在每个节点都保留一份。

4避免Join操作中额外的排序及数据传输操作,提升Join操作的性能

Vertica内部Join策略主要有下面两种类型:Merge joinHash join

优化器会根据Protection的定义以及查询内容,选择最合适的Join策略。在Hash Join策略中,小表(inner)会放入内存散列表,然后再逐条扫描Outer(大表)表,查看是否能匹配上。如果把Protection按照关联字段预先排好序,那么优化器会选择更有效率的Merge Join(即关联字段事先排序好)。

如果只有一张表是按照关联字段预先排序,那么Vertica会在关联操作前将参加关联的另一个表表进行排序,然后再进行Merge Join

强制执行排序策略可加hints关键字来实现

http://www.xdnf.cn/news/9062.html

相关文章:

  • 网口XDP-报文回环转发
  • 知识图谱系列(3):构建方法与流程
  • vue3获取两个日期之间的所有时间
  • 解决leetcode第3509题.最大化交错和为K的子序列乘积
  • OceanBase数据库全面解析(高级特性篇)
  • Real2Render2Real:无需动力学仿真或机器人硬件即可扩展机器人数据
  • AI智能混剪核心技术解析(一):字幕与标题生成的三大支柱-字幕与标题生成-优雅草卓伊凡
  • 海思3519V200ARM Linux 下移植 Qt5.8.0
  • 开疆智能Profinet转Profibus网关连接丹佛斯FC300变频器配置案例
  • Windows11+WSL2+Ubuntu22 安装
  • 汽车恒温器行业2025数据分析报告
  • 【Pandas】pandas DataFrame drop_duplicates
  • 【springMVC】springMVC学习系列一:springMVC的组件
  • 调度算法中的轮盘赌与锦标赛选择算子:优势对比与选择策略
  • 创建一个简易的风扇动画界面:基于 WPF 和 XAML 的实现教程
  • 第Y1周打卡——调用官方权重进行检测
  • 每日算法 -【Swift 算法】字符串转整数算法题详解:myAtoi 实现与正则表达式对比
  • 直线参数方程何时必须化为标准形式 |新高考已删
  • golang channel 的特点、原理及使用场景
  • 人工智能 - Magentic-UI与Browser Use 技术选型
  • C++基础算法————递推
  • Neural Blind Deconvolution Using Deep Priors论文阅读
  • 【Dify系列教程重置精品版】第十章:Dify与RAG
  • Guard Trace 值得吗?
  • 3.python操作mysql数据库
  • 切换目录大全
  • Voice Conversion语音转换
  • PHP:赋能Web开发的经典语言与未来演进
  • XSS跨站脚本攻击的原理、危害与防御
  • 基于PDF流式渲染的Word文档在线预览技术