亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

sql優化謂詞下推在join場景中的應用

2023-11-03 09:18:58
40
0

列裁剪(分區裁剪):將為查詢的字段以及分區過濾,從而減少加載的數據量。

Map端聚合配置:在map端驚醒聚合,減少shuffle過程;

謂詞下推:限制條件進行提前過濾,減少下游處理的數據量;

空值過濾:提前驚醒空值過濾,避免空值引起傾斜;

目前,hive中謂詞下推、map端聚合參數是默認開啟的。本文中簡單的介紹sql優化方式中的謂詞下推的方式及適用的場景。

謂詞下推的原理是將sql 中的限制條件的邏輯盡可能的提前在sql 中執行,從而減少加載的數據量,提升下游數據處理的效率以及減少內存消耗。該種方式在hive,MySQL,Doris的語法中均適用 。在hive中,對應的邏輯優化器是PredicatePushDown,打開謂詞下推可以通過命令 hive (default)> set hive.optimize.ppd = true;在hive中,默認是true。Doris中,從CBO優化器 tree ReWrite中也可以實現該優化。

sql中常用的謂詞及即sql查詢條件中返回值為true的函數或是隱式轉換為boolean的函數。如”where”、”on”、”limit”、”and”、”like”、”is null”等常用函數。其出現在多表關聯的場景中,關聯又left join,right join ,inner join以及full join。

下推場景總結

  where on
左表 右表 左表 右表
left join 下推 下推 下推
join  下推 下推 下推 下推
right join 下推 下推 下推
full join 
0條評論
0 / 1000
l****n
7文章數
0粉絲數
l****n
7 文章 | 0 粉絲
原創

sql優化謂詞下推在join場景中的應用

2023-11-03 09:18:58
40
0

列裁剪(分區裁剪):將為查詢的字段以及分區過濾,從而減少加載的數據量。

Map端聚合配置:在map端驚醒聚合,減少shuffle過程;

謂詞下推:限制條件進行提前過濾,減少下游處理的數據量;

空值過濾:提前驚醒空值過濾,避免空值引起傾斜;

目前,hive中謂詞下推、map端聚合參數是默認開啟的。本文中簡單的介紹sql優化方式中的謂詞下推的方式及適用的場景。

謂詞下推的原理是將sql 中的限制條件的邏輯盡可能的提前在sql 中執行,從而減少加載的數據量,提升下游數據處理的效率以及減少內存消耗。該種方式在hive,MySQL,Doris的語法中均適用 。在hive中,對應的邏輯優化器是PredicatePushDown,打開謂詞下推可以通過命令 hive (default)> set hive.optimize.ppd = true;在hive中,默認是true。Doris中,從CBO優化器 tree ReWrite中也可以實現該優化。

sql中常用的謂詞及即sql查詢條件中返回值為true的函數或是隱式轉換為boolean的函數。如”where”、”on”、”limit”、”and”、”like”、”is null”等常用函數。其出現在多表關聯的場景中,關聯又left join,right join ,inner join以及full join。

下推場景總結

  where on
左表 右表 左表 右表
left join 下推 下推 下推
join  下推 下推 下推 下推
right join 下推 下推 下推
full join 
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0