I am using the following SQL to check
Select operator_name,count(*) from v_monitor.execution_engine_profiles where transaction_id=XXX
and statement_id=1
and counter_name ='clock time (us)' group by operator_name
When use inner join (hash), the result is:
| GroupByPipe | 240 |
| Root | 1 |
| NewEENode | 6 |
| ExprEval | 240 |
| GroupByHash | 240 |
| ParallelUnion | 130 |
| Scan | 245 |
| Join | 240 |
But if use left join, the result is:
| Root | 1 |
| NewEENode | 6 |
| ExprEval | 5 |
| GroupByPipe | 10 |
| Scan | 245 |
| Join | 5 |
| Filter | 5 |
| Sort | 5 |
Consider I have a cluster of 5 nodes, so looks like vertica can only sue one thread per node for outer join but use multiple threads each node for inner join.
I have SQL wich has many left join and the performane is very bad comparing with sql server, sql server could do outer join in multiple thread mode, why vertica can't use multiple threads for outer join?