Quantcast
Channel: SCN : Unanswered Discussions - SAP HANA and In-Memory Computing
Viewing all articles
Browse latest Browse all 4343

Partition Pruning in HANA

$
0
0

I am fairly new to analyzing visual plans in HANA, but I am experiencing something I cannot quite explain.  We have a small fact table of about 3 billion rows.  We have range partitioned this table by what I will call Fiscal Week (SALES_DATE_FISCAL_WEEK), which is a year and week concatenated (i.e '201441', etc.), and grouped the partitioning so that 1 Fiscal Month is contained within a partition (4 or 5 fiscal weeks).  We have this table spread across 3 nodes.

 

When I visualize the explain against this table for one fiscal month:

 

SELECT *

FROM FACT TABLE

WHERE SALES_DATE_FISCAL_WEEK BETWEEN '201449' AND '201452'

AND LOCATION = '0171'

 

I see a search on one single partition, partition 85, as I would expect. 

 

When I visualize this plan, I see a search on all partitions:

 

SELECT *

FROM FACT TABLE

WHERE SALES_DATE BETWEEN '20150104' AND '20150131'

AND LOCATION = '0171'

 

Now the confusing part.   We have a complex model created that I won't detail here, but this is the gist of what we are doing.  We are computing 3 dates from our Time dimension, a current month, Last year current month, and Last Last year current month, i.e. TY, LY, and LLY. This is being supplied as SALES_DATE BETWEEN X AND Y.  I see this in each of the between predicates, for each of the cases above, TY, LY, and LLY.  For example:

 

Summary: SALES_DATE BETWEEN '20150104' AND '20150131'

 

What I see however, is ONLY 3 PARTITIONS INVOLVED.  The predicate is NOT on Partitioning Column, but on the SALES_DATE.  It appears I get Partition Pruning, but we are not using the column I would have thought I needed to be involved based on the results above. 

 

Is this the result of some transitive property in HANA?  Am I missing something obvious?  In the actual Join Operator for one of these 3 joins, I see 4 dimension tables being joined to the central fact table, but I cannot see how to view the sql from this join.  At some point I assume the the Calendar Table is being joined to the fact table on this SALES_DATE.

 

Any help would be appreciated.


Viewing all articles
Browse latest Browse all 4343

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>