数据仓库服务 GaussDB(DWS)-配置LLVM:LLVM适用场景与限制

时间:2025-02-12 15:04:47

LLVM适用场景与限制

适用场景

  • 支持LLVM的表达式。查询语句中存在以下的表达式支持LLVM优化:
    1. Case…when… 表达式
    2. In表达式
    3. Bool表达式 (And/Or/Not)
    4. BooleanTest表达式 (IS_NOT_KNOWN/IS_UNKNOWN/IS_TRUE/IS_NOT_TRUE/IS_FALSE/IS_NOT_FALSE)
    5. NullTest表达式 (IS_NOT_NULL/IS_NULL)
    6. Operator表达式
    7. Function表达式 (lpad, substring, btrim, rtrim, length)
    8. Nullif表达式

    表达式计算支持的数据类型包括bool,tinyint,smallint,int,bigint,float4,float8,numeric,date,time,timetz,timestamp,timestamptz,interval,bpchar,varchar,text,oid。

    仅当表达式出现在以下场景时才会考虑是否使用LLVM动态编译优化:

    • 向量化执行引擎中Scan节点的filter;
    • Hash Join节点中的complicate hash condition、hash join filter、hash join target;
    • Nested Loop节点中的filter、join filter;
    • Merge Join节点的merge join filter、merge join target;
    • Group节点中的filter表达式。
support.huaweicloud.com/devg-dws/dws_04_0426.html