You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Chinmay Kulkarni (Jira)" <ji...@apache.org> on 2020/02/26 19:18:00 UTC
[jira] [Updated] (PHOENIX-5740) WhereOptimizer doesn't generate
optimized query plan
[ https://issues.apache.org/jira/browse/PHOENIX-5740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chinmay Kulkarni updated PHOENIX-5740:
--------------------------------------
Summary: WhereOptimizer doesn't generate optimized query plan (was: WhereOptmizer doesn't generate optimized query plan)
> WhereOptimizer doesn't generate optimized query plan
> ----------------------------------------------------
>
> Key: PHOENIX-5740
> URL: https://issues.apache.org/jira/browse/PHOENIX-5740
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Xinyi Yan
> Priority: Major
> Attachments: Screen Shot 2020-02-19 at 4.41.12 PM.png
>
>
> !Screen Shot 2020-02-19 at 4.41.12 PM.png!
> {code:java}
> 0: jdbc:phoenix:localhost:49454> CREATE TABLE FOO (ID1 BIGINT NOT NULL , ID2 BIGINT NOT NULL, CONSTRAINT PK PRIMARY KEY(ID1, ID2));
> No rows affected (1.262 seconds)
> 0: jdbc:phoenix:localhost:49454> EXPLAIN SELECT * FROM FOO WHERE ((ID1=1 AND ID2=1) OR (ID1=2 AND ID2=2));
> +-------------------------------------------------------------------------------------------+-----------------+----------------+------+
> | PLAN | EST_BYTES_READ | EST_ROWS_READ | EST_ |
> +-------------------------------------------------------------------------------------------+-----------------+----------------+------+
> | CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER FOO | null | null | null |
> | SERVER FILTER BY FIRST KEY ONLY AND ((ID1 = 1 AND ID2 = 1) OR (ID1 = 2 AND ID2 = 2)) | null | null | null |
> +-------------------------------------------------------------------------------------------+-----------------+----------------+------+
> 2 rows selected (0.008 seconds)
> {code}
>
> AS we can see, the pattern of WHERE (( all pk conditions) OR ( all pk conditions)) generates the wrong scan.
> Instead of a full scan, it should be a point lookup since we have full primary key listed.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)