sql优化谓词下推在join场景中的应用

本文分享自天翼云开发者社区《sql优化谓词下推在join场景中的应用》,作者:i****n

列裁剪(分区裁剪):将为查询的字段以及分区过滤,从而减少加载的数据量。

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。

下推场景总结

相关推荐
Moshow郑锴2 分钟前
sql-pipeline - 基于PostgreSQL的SQL健康检查与发布编排平台
java·sql
Elastic 中国社区官方博客20 小时前
错误最多的服务运行正常:使用 ES|QL 从日志进行根因分析
大数据·运维·数据库·sql·elasticsearch·搜索引擎·全文检索
Seraphina3620 小时前
DVWA(SQL Injection-High,XSS Reflected-Medium,XSS Stored-Medium)
数据库·经验分享·sql·网络安全·xss
2501_9336707921 小时前
2027风控策略岗秋招准备:SQL、Excel、建模的优先级与项目路径
人工智能·sql·excel
其实防守也摸鱼1 天前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
Shadow(⊙o⊙)1 天前
MySQL C/C++链接MySQL使用
数据库·sql·mysql
Shadow(⊙o⊙)1 天前
mysql为创建普通用户并创建库赋权
数据库·sql·mysql
Seraphina361 天前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
做运维的阿瑞2 天前
多表查询基础:INNER JOIN、LEFT JOIN、RIGHT JOIN
数据库·sql·mysql·算法
Seraphina362 天前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss