南大通用GBase 8a MPP CLuster 在 Express 引擎层内实现了子查询条件内推优化机制,将过滤条件内推,尽早滤除临时表中的无效数据,减少临时表的数据量,从而提高SQL 执行性能。
- 优化特性:
可条件内推子查询需满足:
•UNION 子查询,包括 UNION、UNION ALL、INTERSECT、MINUS;
•JOIN 子查询,包括 LEFT JOIN、RIGHT JOIN、OUTER JOIN、INNER JOIN、FULL JOIN;
•单表子查询。
内推条件需满足:
•单表过滤条件可内推,表达式必须为物理列、常量、常量表达式、NULL值;
•通过 AND 逻辑操作符连接的多个符合单表过滤条件的可内推;
•恒真/假条件可内推。
2. 优化限制:
过滤条件约束:
•不支持条件表达式操作符为 IN/NOT IN/BETWEEN AND;
•不支持通过 OR 逻辑操作符连接的内推条件;
•单表过滤条件不支持使用函数,物理表表达式。