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

Lars Hofhansl commented on PHOENIX-2797:
----------------------------------------

Oops. Should have done some checking first. Just wanted to capture it before I 
forget about it.

> Ideas to speed up MIN/MAX/DISTINCT for prefixes of the PK
> ---------------------------------------------------------
>
>                 Key: PHOENIX-2797
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2797
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Priority: Minor
>
> All of MIN, MAX, and DISTINCT always perform a full scan, even when they are 
> on a prefix of a compound key.
> For MIN and MAX one only needs to find the first and last row (resp) and 
> we'll have our answer. This works for the full key or a prefix of the key.
> This should work find with or without a WHERE clause, as long as we can 
> identify the first and last row.
> For DISTINCT we could do a skip scan to the next prefix (only helps with a 
> true prefix of a compound key).
> Say the key is (K1, K2), and say further that we're doing DISTINCT(K1). We 
> can skip to the next value of K1 once we found a value. This should have a 
> dramatic impact when the cardinality of K2 is high.
> With a WHERE clause that might itself be causing a SKIP SCAN, this might be 
> quite tricky. Would need to think about it.
> Both of these statements hold equally when querying against an index.
> Anyway... Just filing this as an idea for now.



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

Reply via email to