Hologres性能调优

查看执行计划
  • explain 仅仅生成执行计划、sql没有执行
  • explain analyze sql会执行,并收集实际运行中的一些信息
性能优化手段
  • 表结构、表数据变动后执行analyze table
  • 执行计划中没有让小表hash join,说明表的统计信息有误,大表、小表都执行analyze
  • 设置distribution_key,distribution_key决定数据存储在哪个shard
  • Motion node不合适时,设置参数关闭对应的motion
    • Redistribute motion(hash分布或随机分布)
      
    • Broadcast motion(广播至所有shard)
      
    • gather motion (聚合到一个shard)
      
    • Forward motion(联邦查询,外部数据源和内部数据源)
      
  • dictionary_encode有利于字符串的快速比较,但是多了一个decode过程,合理设置哪些字段需要dictionary_encode
  • 行存(服务类应用选择行存),列存(分析类应用列存)
  • 字段类型选择合适的
  • 分区
  • 索引
    Hologres性能调优_第1张图片

你可能感兴趣的:(大数据,阿里云,odps)