GBase 8a MPP CLuster 在 Express 引擎层内实现了子查询条件内推优化机制,将过滤条件内推,尽早滤除临时表中的无效数据,减少临时表的数据量,从而提高SQL 执行性能。1. 优化特性:
可条件内推子查询需满足:
•UNION 子查询,包括 UNION、UNION ALL、INTERSECT、MINUS;
•JOIN 子查询,包括 LEFT JOIN、RIGHT JOIN、OUTER JOIN、INNER JOIN、FULL JOIN;
•单表子查询。
内推条件需满足:
•单表过滤条件可内推,表达式必须为物理列、常量、常量表达式、NULL值;
•通过 AND 逻辑操作符连接的多个符合单表过滤条件的可内推;
•恒真/假条件可内推。
1. 优化限制:
过滤条件约束:
•不支持条件表达式操作符为 IN/NOT IN/BETWEEN AND;
•不支持通过 OR 逻辑操作符连接的内推条件;
•单表过滤条件不支持使用函数,物理表表达式。
子查询约束:
•不支持子查询中带有聚合函数、LIMIT 子句、DISTINCT 子句、OLAP 函数、HAVING、ORDER BY。
优化参数:全局参数:_gbase_optimizer_push_condition=0/1(取值为0表示不优化,取值为1表示优化,默认取值为1)。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




