[
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)