[ 
https://issues.apache.org/jira/browse/DRILL-7187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16829826#comment-16829826
 ] 

ASF GitHub Bot commented on DRILL-7187:
---------------------------------------

gparai commented on pull request #1772: DRILL-7187: Improve selectivity 
estimation of BETWEEN predicates and …
URL: https://github.com/apache/drill/pull/1772#discussion_r279571671
 
 

 ##########
 File path: 
exec/java-exec/src/test/java/org/apache/drill/exec/sql/TestAnalyze.java
 ##########
 @@ -480,6 +490,24 @@ public void testHistogramWithColumnsWithAllNulls() throws 
Exception {
     }
   }
 
+
+  @Test
+  public void testHistogramWithBetweenPredicate() throws Exception {
+    try {
+      test("ALTER SESSION SET `planner.slice_target` = 1");
+      test("ALTER SESSION SET `store.format` = 'parquet'");
+      test("create table dfs.tmp.orders2 as select * from 
cp.`tpch/orders.parquet`");
+      test("analyze table dfs.tmp.orders2 compute statistics");
+      test("alter session set `planner.statistics.use` = true");
+
+      String query = "select 1 from dfs.tmp.orders2 o where o.o_orderdate >= 
date '1996-10-01' and o.o_orderdate < date '1996-10-01' + interval '3' month";
 
 Review comment:
   I do not see the `BETWEEN` clause in this query.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve selectivity estimates for range predicates when using histogram
> -----------------------------------------------------------------------
>
>                 Key: DRILL-7187
>                 URL: https://issues.apache.org/jira/browse/DRILL-7187
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Aman Sinha
>            Assignee: Aman Sinha
>            Priority: Major
>             Fix For: 1.17.0
>
>
> 2 types of selectivity estimation improvements need to be done:
> 1.  For range predicates on the same column, we need to collect all such 
> predicates in 1 group and do a histogram lookup for them together. 
> For instance: 
> {noformat}
>  WHERE a > 10 AND b < 20 AND c = 100 AND a <= 50 AND b < 50
> {noformat}
>  Currently, the Drill behavior is to treat each of the conjuncts 
> independently and multiply the individual selectivities.  However, that will 
> not give the accurate estimates. Here, we want to group the predicates on 'a' 
> together and do a single lookup.  Similarly for 'b'.  
> 2. NULLs are not maintained by the histogram but when doing the selectivity 
> calculations, the histogram should use the totalRowCount as the denominator 
> rather than the non-null count. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to