LLVM适用场景与限制

    • 查询语句中存在以下的表达式支持LLVM优化:

      1. Case…when… 表达式
      2. In表达式
      3. BooleanTest表达式(IS_NOT_KNOWN/IS_UNKNOWN/IS_TRUE/IS_NOT_TRUE/IS_FALSE/IS_NOT_FALSE)
      4. NullTest表达式(IS_NOT_NULL/IS_NULL)
      5. Operator表达式
      6. Function表达式(lpad,substring,btrim,rtrim,length)
      7. Nullif表达式

      仅当表达式出现在向量化执行引擎中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表达式时,才会考虑是否使用LLVM动态编译优化。

    非适用场景

    • 不支持小数据量表使用LLVM动态编译优化。
    • 不支持生成非向量化执行路径的查询作业。