Uploaded image for project: 'Kylin'
  1. Kylin
  2. KYLIN-1278

Query engine optimization: skip the condition checking on partition column if a segment's time is totaly included in the query range

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Backlog
    • Query Engine
    • None

    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.

      Attachments

        Activity

          People

            liyang.gmt8@gmail.com liyang
            shaofengshi Shao Feng Shi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: