[ 
https://issues.apache.org/jira/browse/PHOENIX-2943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15306757#comment-15306757
 ] 

Ankit Singhal commented on PHOENIX-2943:
----------------------------------------

[[email protected]], It seems , above query(ORDER BY on non-prefix column 
of rowkey) cannot be run in SERIAL considering the current implementation of 
serialIterators.

May be result are coming correct because of the data distribution (like the 
lowest value was in the first chunk only)

can we try running ORDER BY <col1,col2> DESC on the same columns and confirm 
whether we are getting the same output(for parallel and serial query)



> Performance of parallel order by query is > 30X slower than serial execution
> ----------------------------------------------------------------------------
>
>                 Key: PHOENIX-2943
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2943
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Mujtaba Chohan
>             Fix For: 4.8.0
>
>
> {code}
> select /*+SERIAL*/  L_DISCOUNT, L_QUANTITY from lineitem_encoded order by 
> (l_discount,L_QUANTITY) limit 1;
> +-------------+-------------+
> | L_DISCOUNT  | L_QUANTITY  |
> +-------------+-------------+
> | 0.04        | 17          |
> +-------------+-------------+
> 1 row selected (0.129 seconds)
> select L_DISCOUNT, L_QUANTITY from lineitem_encoded order by 
> (l_discount,L_QUANTITY) limit 1;
> +-------------+-------------+
> | L_DISCOUNT  | L_QUANTITY  |
> +-------------+-------------+
> | 0.04        | 17          |
> +-------------+-------------+
> 1 row selected (4.63 seconds)
> explain select /*+SERIAL*/  L_DISCOUNT, L_QUANTITY from lineitem_encoded 
> order by (l_discount,L_QUANTITY) limit 1;
> +------------------------------------------------------------------------------------------------+
> |                                              PLAN                           
>                    |
> +------------------------------------------------------------------------------------------------+
> | CLIENT 417-CHUNK 5978838 ROWS 4150009682 BYTES SERIAL 417-WAY FULL SCAN 
> OVER LINEITEM_ENCODED  |
> |     SERVER TOP 1 ROW SORTED BY [(L_DISCOUNT, L_QUANTITY)]                   
>                    |
> | CLIENT MERGE SORT                                                           
>                    |
> +------------------------------------------------------------------------------------------------+
> 3 rows selected (0.016 seconds)
> 0: jdbc:phoenix:localhost> explain select  L_DISCOUNT, L_QUANTITY from 
> lineitem_encoded order by (l_discount,L_QUANTITY) limit 1;
> +--------------------------------------------------------------------------------------------------+
> |                                               PLAN                          
>                      |
> +--------------------------------------------------------------------------------------------------+
> | CLIENT 417-CHUNK 5978838 ROWS 4150009682 BYTES PARALLEL 417-WAY FULL SCAN 
> OVER LINEITEM_ENCODED  |
> |     SERVER TOP 1 ROW SORTED BY [(L_DISCOUNT, L_QUANTITY)]                   
>                      |
> | CLIENT MERGE SORT                                                           
>                      |
> +--------------------------------------------------------------------------------------------------+
> 3 rows selected (0.015 seconds)
> {code}
> Profiler information on this to be added soon. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to