Impala
optimizes expressions that contain null-rejecting conjuncts - expressions that are
false if all "slots" (values returned from a table) are NULL
.
Evaluating whether a conjunct is null-rejecting can be expensive when performed over a
lot of expressions. The "null slots cache" speeds analysis of generated queries with
many similar expressions by caching the result of evaluating an expression after slots
have been replaced with NULL
s.
If query analysis uses a lot of memory, performance of the "null slots cache" can be
reviewed by enabling logging org.apache.impala.analysis.Analyzer=DEBUG
and searching coordinator logs for messages like
null slots cache size: 286, median entry: 4416.0, 99th entry: 252688.88, hit rate: 0.99456364
Type: BOOLEAN
Default: TRUE
Added in: Impala 4.5