Mujtaba Chohan created PHOENIX-1645:
---------------------------------------

             Summary: Wrong execution plan generated for indexed query which 
leads to slow performance
                 Key: PHOENIX-1645
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1645
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.3
            Reporter: Mujtaba Chohan
            Assignee: James Taylor


Query: select /*+ INDEX(INDEXED_TABLE idx1 idx2 idx3 idx4) */ count(core) from 
INDEXED_TABLE where core < 10 and db < 200

Optimal explain plan generated in Phoenix v4.2: 1-CHUNK PARALLEL 1-WAY RANGE 
SCAN OVER IDX4 [*] - [10]
    SERVER FILTER BY TO_LONG(DB) < 200
    SERVER AGGREGATE INTO SINGLE ROW

*Wrong plan generated in 4.3 that uses skip scan join to base table. 
Performance of this plan compared to v4.2 is close to 20X slower with 2M rows 
data*: CLIENT 28-CHUNK PARALLEL 1-WAY FULL SCAN OVER INDEXED_TABLE
    SERVER FILTER BY USAGE.DB < 200
    SERVER AGGREGATE INTO SINGLE ROW
    SKIP-SCAN-JOIN TABLE 0
        CLIENT 1-CHUNK PARALLEL 1-WAY RANGE SCAN OVER IDX1 [*] - [10]
            SERVER FILTER BY FIRST KEY ONLY
    DYNAMIC SERVER FILTER BY ("HOST", "DOMAIN", "FEATURE", "DATE") IN 
(($22.$24, $22.$25, $22.$26, $22.$27))
 

DDL: CREATE TABLE $TABLE (HOST CHAR(2) NOT NULL,DOMAIN VARCHAR NOT NULL,FEATURE 
VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.DB 
BIGINT,STATS.ACTIVE_VISITOR INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, 
FEATURE, DATE)) IMMUTABLE_ROWS=true,MAX_FILESIZE=30485760;CREATE INDEX idx1 ON 
$TABLE (CORE);CREATE INDEX idx2 ON $TABLE (DB);CREATE INDEX idx3 ON $TABLE 
(DB,ACTIVE_VISITOR);CREATE INDEX idx4 ON $TABLE (CORE,DB,ACTIVE_VISITOR);CREATE 
INDEX ids1 ON $TABLE (CORE) SALT_BUCKETS=16;CREATE INDEX ids2 ON $TABLE (DB) 
SALT_BUCKETS=16;CREATE INDEX ids3 ON $TABLE (DB,ACTIVE_VISITOR) 
SALT_BUCKETS=16;CREATE INDEX ids4 ON $TABLE (CORE,DB,ACTIVE_VISITOR) 
SALT_BUCKETS=16;

Also see perf. run at: 
http://phoenix-bin.github.io/client/performance/phoenix-20150206042353.htm



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

Reply via email to