[ 
https://issues.apache.org/jira/browse/PHOENIX-7659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sanjeet Malhotra updated PHOENIX-7659:
--------------------------------------
    Description: 
Currently, if someone wants to lookup multiple individual rows and WHERE clause 
is has conditions on all the PK columns to generate point lookups, then we use 
IN list. A typical such query looks like:
{noformat}
SELECT COL1 FROM TABLE WHERE PK1 = VAL1 AND PK2 IN (VAL21, VAL22, ..., 
VAL2n){noformat}
As the size of IN list increases so, does the parsing time of the query. But if 
we use PK2 = ANY(?) and then assign a SQL array type to the bind variable then 
we can cut down on the parsing time and prevent parsing time to grow linearly 
with rows being looked up in a query. 

 

The scope of this Jira currently is to target only the literal ARRAY 
expressions specified in the query or array specified as bind parameter.

  was:
Currently, if someone wants to lookup multiple individual rows and WHERE clause 
is has conditions on all the PK columns to generate point lookups, then we use 
IN list. A typical such query looks like:
{noformat}
SELECT COL1 FROM TABLE WHERE PK1 = VAL1 AND PK2 IN (VAL21, VAL22, ..., 
VAL2n){noformat}
As the size of IN list increases so, does the parsing time of the query. But if 
we use PK2 = ANY(?) and then assign a SQL array type to the bind variable then 
we can cut down on the parsing time and prevent parsing time to grow linearly 
with rows being looked up in a query. 

 

 


> Leverage = ANY() instead of big IN list to do huge number of point lookups in 
> a single query
> --------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-7659
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7659
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.2.2, 5.3
>            Reporter: Sanjeet Malhotra
>            Assignee: Sanjeet Malhotra
>            Priority: Minor
>
> Currently, if someone wants to lookup multiple individual rows and WHERE 
> clause is has conditions on all the PK columns to generate point lookups, 
> then we use IN list. A typical such query looks like:
> {noformat}
> SELECT COL1 FROM TABLE WHERE PK1 = VAL1 AND PK2 IN (VAL21, VAL22, ..., 
> VAL2n){noformat}
> As the size of IN list increases so, does the parsing time of the query. But 
> if we use PK2 = ANY(?) and then assign a SQL array type to the bind variable 
> then we can cut down on the parsing time and prevent parsing time to grow 
> linearly with rows being looked up in a query. 
>  
> The scope of this Jira currently is to target only the literal ARRAY 
> expressions specified in the query or array specified as bind parameter.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to