Symptom
You experience high CPU utilization. In kernel profiler trace or runteimdump you identify multiple threads in callstack:
sse_icc_lib::mgetSearchi_SSE4impl
sse_icc_lib::mgetSearchi_SSE4
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run
...
or
sse_icc_lib::mgetSearchi_AVX2impl
sse_icc_lib::mgetSearchi_AVX2
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()'
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run
...
or
sse_icc_lib::mgetSearchi_AVX512impl
sse_icc_lib::mgetSearchi_AVX512
TRexUtils::IndexVectorRef::mgetSearch
...
TRexUtils::JobParallelMgetSearch::run()'
TRexUtils::Parallel::JobBase::runEx()
TRexUtils::Parallel::JobBase::run
Other Terms
SAP HANA, column store, high CPU, secondary index
Reason and Prerequisites
Reason:
Above callstack points to single attribute scan on a column store table.
Solution
This can be alleviated by creating a secondary index on the table and columns to be searched.
Creating the index will improve query performance significantly (factor 10 and more) and reduce CPU consumption, but will also increase memeory consumption as a concatenated attribute will be generated.
More details : 2321573
EmoticonEmoticon
Note: only a member of this blog may post a comment.