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

Shaofeng SHI updated KYLIN-1278:
--------------------------------
    Description: 
See an example: a cube (which is partitioned by date column "CAL_DT") has three 
segments:

S1, S2, S3;

Now a query like "select .... from fact_table where CAL_DT > 'yyyy-mm-dd' group 
by dimA, dimB..." comes, and the "CAL_DT" is only used for filtering, not in 
group by; 

By checking the startTime/endTime, Kylin found S2 and S3 need be scanned, and 
S3 is totally match the condition "CAL_DT > yyyy-mm-dd". Then when scan S3, 
Kylin can ignore the condition on "CAL_DT", selecting a smaller cuboid, this 
should gain better performance. 

Further more, this can be generalized to all filtering condition columns: if 
all values of a dimension matches with user's filtering condition, and it isn't 
in "group by", Kylin can ignore that column when selecting the cuboid. 


  was:
See an example: a cube (which is partitioned by date column "CAL_DT") has three 
segments:

S1, S2, S3;

Now a query like "select .... from fact_table where CAL_DT > 'yyyy-mm-dd' group 
by dimA, dimB..." comes, and the "CAL_DT" is only used for filtering, not in 
group by; 

By checking the startTime/endTime, Kylin found S2 and S3 need be scanned, and 
S3 is totally match the condition "CAL_DT > yyyy-mm-dd". Then when scan S3, 
Kylin can ignore the condition on "CAL_DT", selecting a smaller cuboid, this 
should gain better performance. 

 


> Query engine optimization: skip the condition checking on partition column if 
> a segment's time is totaly included in the query range
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-1278
>                 URL: https://issues.apache.org/jira/browse/KYLIN-1278
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Query Engine
>            Reporter: Shaofeng SHI
>            Assignee: liyang
>             Fix For: Backlog
>
>
> See an example: a cube (which is partitioned by date column "CAL_DT") has 
> three segments:
> S1, S2, S3;
> Now a query like "select .... from fact_table where CAL_DT > 'yyyy-mm-dd' 
> group by dimA, dimB..." comes, and the "CAL_DT" is only used for filtering, 
> not in group by; 
> By checking the startTime/endTime, Kylin found S2 and S3 need be scanned, and 
> S3 is totally match the condition "CAL_DT > yyyy-mm-dd". Then when scan S3, 
> Kylin can ignore the condition on "CAL_DT", selecting a smaller cuboid, this 
> should gain better performance. 
> Further more, this can be generalized to all filtering condition columns: if 
> all values of a dimension matches with user's filtering condition, and it 
> isn't in "group by", Kylin can ignore that column when selecting the cuboid. 



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

Reply via email to