Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3089

Handle between predicate in disjunctions during static partition pruning in the FE

    XMLWordPrintableJSON

Details

    Description

      TPC-DS Q3 has regressed in 2.5 compared to 2.3 due to query planning taking 6s compared to 1.3s for 2.3. Most of this time is spent in evaluating the partition pruning exprs in the BE. The FE can handle the expr on ss_sold_date_sk partition column and avoid the calls to the BE.

      Query

      select
        dt.d_year,
        item.i_brand_id brand_id,
        item.i_brand brand,
        sum(ss_ext_sales_price) sum_agg
      from
        date_dim dt,
        store_sales,
        item
      where
        dt.d_date_sk = store_sales.ss_sold_date_sk
        and store_sales.ss_item_sk = item.i_item_sk
        and item.i_manufact_id = 436
        and dt.d_moy = 12
        -- partition key filters
        and (ss_sold_date_sk between 2451149 and 2451179
          or ss_sold_date_sk between 2451514 and 2451544
          or ss_sold_date_sk between 2451880 and 2451910
          or ss_sold_date_sk between 2452245 and 2452275
          or ss_sold_date_sk between 2452610 and 2452640)
      group by
        dt.d_year,
        item.i_brand,
        item.i_brand_id
      order by
        dt.d_year,
        sum_agg desc,
        brand_id
      limit 100
      

      Attachments

        Activity

          People

            dtsirogiannis Dimitris Tsirogiannis
            dtsirogiannis Dimitris Tsirogiannis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: