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

萧山区建设工程质量监督站网站客服外包平台

萧山区建设工程质量监督站网站,客服外包平台,网页设计 参考网站,高端网站创建概述​ Doris 支持使用 Hint 来调整 Join 操作中数据 Shuffle 的类型,从而优化查询性能。本节将详细介绍如何在 Doris 中利用 Hint 来指定 Join Shuffle 的类型。 注意 当前 Doris 已经具备良好的开箱即用的能力,也就意味着在绝大多数场景下&#xff…

概述​

Doris 支持使用 Hint 来调整 Join 操作中数据 Shuffle 的类型,从而优化查询性能。本节将详细介绍如何在 Doris 中利用 Hint 来指定 Join Shuffle 的类型。

注意

当前 Doris 已经具备良好的开箱即用的能力,也就意味着在绝大多数场景下,Doris 会自适应的优化各种场景下的性能,无需用户来手工控制 hint 来进行业务调优。本章介绍的内容主要面向专业调优人员,业务人员仅做简单了解即可。

目前,Doris 支持两种独立的 Distribute Hint,[shuffle] 和 [broadcast],用来指定 Join 右表的 Distribute Type。Distribute Type 需置于 Join 右表之前,采用中括号 [] 的方式。同时,Doris 也可以通过 Leading Hint 配合 Distribute Hint 的方式,指定 shuffle 方式(详见使用 Leading Hint 控制 Join 顺序章节相关介绍)。

示例如下:

SELECT COUNT(*) FROM t2 JOIN [broadcast] t1 ON t1.c1 = t2.c2;
SELECT COUNT(*) FROM t2 JOIN [shuffle] t1 ON t1.c1 = t2.c2;

案例​

接下来将通过同一个例子来展示 Distribute Hint 的使用方法:

EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN t2 ON t1.c1 = t2.c2;

原始 SQL 的计划如下,可见 t1 连接 t2 使用了 hash distribute 即DistributionSpecHash的方式。

+----------------------------------------------------------------------------------+  
| Explain String (Nereids Planner)                                                 |  
+----------------------------------------------------------------------------------+  
| PhysicalResultSink                                                               |  
| --hashAgg [GLOBAL]                                                               |  
| ----PhysicalDistribute [DistributionSpecGather]                                  |  
| ------hashAgg [LOCAL]                                                            |  
| --------PhysicalProject                                                          |  
| ----------hashJoin [INNER_JOIN] hashCondition=((t1.c1 = t2.c2)) otherCondition=()|  
| ------------PhysicalProject                                                      |  
| --------------PhysicalOlapScan [t1]                                              |  
| ------------PhysicalDistribute [DistributionSpecHash]                            |  
| --------------PhysicalProject                                                    |  
| ----------------PhysicalOlapScan [t2]                                            |  
+----------------------------------------------------------------------------------+

加入[broadcast] hint 后:

EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN [broadcast] t2 ON t1.c1 = t2.c2;

可见 t1 连接 t2 的分发方式改为了 broadcast 即DistributionSpecReplicated的方式。

+----------------------------------------------------------------------------------+  
| Explain String (Nereids Planner)                                                 |  
+----------------------------------------------------------------------------------+  
| PhysicalResultSink                                                               |  
| --hashAgg [GLOBAL]                                                               |  
| ----PhysicalDistribute [DistributionSpecGather]                                  |  
| ------hashAgg [LOCAL]                                                            |  
| --------PhysicalProject                                                          |  
| ----------hashJoin [INNER_JOIN] hashCondition=((t1.c1 = t2.c2)) otherCondition=()|  
| ------------PhysicalProject                                                      |  
| --------------PhysicalOlapScan [t1]                                              |  
| ------------PhysicalDistribute [DistributionSpecReplicated]                      |  
| --------------PhysicalProject                                                    |  
| ----------------PhysicalOlapScan [t2]                                            | 
+----------------------------------------------------------------------------------+

总结​

通过合理使用 Distribute Hint,可以优化 Join 操作的 Shuffle 方式,提升查询性能。在实践中,建议先通过 EXPLAIN 分析查询执行计划,再根据实际情况指定合适的 Shuffle 类型。

http://www.dtcms.com/wzjs/268897.html

相关文章:

  • 做网站用国内还是国外的vpsseo网站优化培训怎么样
  • 制作网站建网站杭州做百度推广的公司
  • 事业单位建立网站徐州网站建设
  • 大气个人网站源码在线识别图片来源
  • 枣阳网站建设百度手机seo
  • 外贸购物网站建设网页制作公司哪家好
  • 怎么用自己的主机做网站服务器nba最新交易动态
  • 国外做建筑平面图的网站推广普通话的文字内容
  • 营销型网站建设申请域名磁力链最好用的搜索引擎
  • 国外免费网站模板新产品推广方案怎么写
  • wordpress淘宝客单页西安排名seo公司
  • wordpress 流水 插件太原seo排名优化软件
  • 酒店网站建设与设计公司百度开户渠道商哪里找
  • 旅游 网站建设seo关键词排名优化怎样
  • 石家庄旅游景点seo官网优化怎么做
  • 做网站能传电影网站多少钱长春网站快速优化排名
  • 互联网行业都有哪些工作岗位呢上海网站seo排名优化
  • 网站建设站点东莞网站公司哪家好
  • 免费编程软件小学生seo工作室
  • 小程序登录授权seo关键词推广优化
  • python网站开发学习西安网站建设公司十强
  • 学校网站建设的优势和不足投资网站建设方案
  • wordpress下载文件临沂seo网站管理
  • 做公司永久免费网站什么好百度搜索热度
  • 做百度推广需要自己有个网站吗怎样写营销策划方案
  • 泰国网站建设精准营销平台
  • 网站建设网店名字windows优化大师免费版
  • 招聘网站建设需求网店推广有哪些
  • 网页微信版看聊天记录有记录吗玉溪seo
  • 政府网站规划北京百度公司地址在哪里