And I don’t see anything about when to use onHeapD...
# pinot-perf-tuning
k
And I don’t see anything about when to use onHeapDictionaryColumns, does that matter at all?
m
We found it useful in case of (conjunction of all below):
Copy code
1. Very high read qps (> 10k)
2. Very low read latency SLA (p99 < 100ms)
3. Long queries with too many values in IN clause for a string column.
In such cases, we found that a lot of time was spent in off-heap dict lookup to find dict id's for those strings, and that resulted in too many String deserializations (from byte-buffer) that was slow as well as generated garbage.
My recommendation is to not use it, unless there are no other ways to improve performance, or one is a super user of Pinot and knows what they are doing.