怎样提高impala sql 优化

2025-05-19 17:07:47
推荐回答(1个)
回答1:

  1. 调用虚函数。没有编译就解释执行表达式(例如col1 + col2 < col3),致使在每个表达式上产生虚函数调用。(这当然依赖于安装启用,但是我们,也可能包括大多数其它人采用一种类似“Eval”函数,每一个操作符都会生效。)在这种情况下,表达式自身占用资源很少,但虚函数调用的资源占用是很多的。

  2. 各种类型的大的代码分支判断,操作符,以及没有被查询引用的函数。分支预测器可以缓和这类问题,但同时分支指令会阻止流水线的效率以及指令集的并行性。

  3. 不能传送所有的常量。Impala能计算一个固定宽度的元组格式(列3字节偏移值为16)。好处是这些常量不用重复写入代码,而不用在内存中去查找。