This is a limitation of our optimizer (see PHOENIX-627). Patches are
welcome. The fix would be isolated to WhereOptimizer.java.

Thanks,
James

On Thu, Jan 18, 2018 at 9:46 AM, abhi1 kumar <abhi...@yahoo.co.in> wrote:

> Hi All,
>
> I am using phoenix 4.7(hbase 1.1.xx) and came across following case of
> query plans :
>
> Table Schema:
> -------------------
> PK for table is composed of three cols C1+C2+C3 and there are some
> additional columns as well.
>
> 1. query plan for below select query shows skip scan:
>
>          > select * from table where (C1, C2) in ((x1, y1),(x2,y2))
>
> 2.  however, for below query it prefers server side filters :
>
>          > select * from table where ((C1 = x1 and C2=y1) or (C1 = x2 and
> C2=y2))
>
> Now, i was expecting the both to have similar plan with skip/range scan
> but it seems to be different
> based on used query syntax.I tried using skip scan hint but no luck.
>
> Is there any other way we can enforce  skip/range scan on 2nd queries
> because condition list could
> be really large and doing server side filter based query plan is
> inefficient compared to skip/range scan plan ?
>
> Thanks & Regards,
> Abhi
>

Reply via email to