You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Amit Shah <am...@gmail.com> on 2016/04/11 12:09:47 UTC
Understanding Phoenix Query Plans
Hi,
I am using hbase version 1.0 and phoenix version 4.6. For different queries
that we are benchmarking, I am trying to understand the query plan
1. If we execute a where clause with group by query on primary key columns
of the table, the plan looks like
+------------------------------------------+
| PLAN |
+------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER TRANSACTIONS |
+------------------------------------------+
What does "1-way point lookup on 1 key" mean?
2. When executing a where clause query with group by on non primary key
columns, the plan looks like
+------------------------------------------+
| PLAN |
+------------------------------------------+
| CLIENT 48-CHUNK PARALLEL 48-WAY FULL SCAN OVER TRANSACTIONS |
| SERVER FILTER BY CH_TYPE = 'CHANNEL_TYPE_32' |
| SERVER AGGREGATE INTO DISTINCT ROWS BY [T_COUNTRY] |
| CLIENT MERGE SORT |
+------------------------------------------+
A full table scan is being performed.
Does "CLIENT" and "SERVER" refer to the operations performed on the client
(which is sqlline) and the server (hbase region server) ?
Does "48-WAY" indicate that the query is split across region servers and
executed in multiple (in this case 48) threads? If so, what config controls
this concurrency?
Thanks,
Amit.