db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Pendleton (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6940) Enhance derby statistics for more accurate selectivity estimates.
Date Sat, 24 Jun 2017 00:53:00 GMT

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

Bryan Pendleton commented on DERBY-6940:
----------------------------------------

Your approach to addressing the DERBY-3219 problems seems fine to me. I think it is quite
clever and should get us the behavior that we need.

Can you clarify why the exception handling is needed in the writeExternal method? That is,
why isn't it more like:


{code:java}
writeBoolean( min == max);
if (min != max)
    writeObject(maxVal);
writeObject(minVal);
{code}

Regarding additional statistics, I don't have any to add at this time. I'm a big fan of incremental
improvement, so I'm happy to add only the statistics that we need now, and in the future if
we should determine that additional statistics would be valuable, we can address those needs
as follow-on projects.

However, yes, please, as you continue to study the code, and think about the approaches and
possibilities, do let us know what additional statistics you think would be helpful, that
is much appreciated!

> Enhance derby statistics for more accurate selectivity estimates.
> -----------------------------------------------------------------
>
>                 Key: DERBY-6940
>                 URL: https://issues.apache.org/jira/browse/DERBY-6940
>             Project: Derby
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Harshvardhan Gupta
>            Assignee: Harshvardhan Gupta
>            Priority: Minor
>         Attachments: DERBY-6940_2.diff, DERBY-6940_3.diff, derby-6940.diff, EOFException_derby.log,
EOFException.txt
>
>
> Derby should collect extra statistics during index build time, statistics refresh time
which will help optimizer make more precise selectivity estimates and chose better execution
paths.
> We eventually want to utilize the new statistics to make better selectivity estimates
/ cost estimates that will help find the best query plan. Currently Derby keeps two type of
stats - the total row count and the number of unique values.
> We are initially extending the stats to include null count, the minimum value and maximum
value associated with each of the columns of an index. This would be useful in selectivity
estimates for operators such as [ IS NULL, <, <=, >, >= ] , all of which currently
rely on hardwired selectivity estimates.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message