kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shaofeng SHI (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KYLIN-1278) Query engine optimization: skip the condition checking on partition column if a segment's time is totaly included in the query range
Date Tue, 05 Jan 2016 06:54:40 GMT

     [ 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)

Mime
View raw message