[
https://issues.apache.org/jira/browse/DERBY-3981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen closed DERBY-3981.
-------------------------------------
> Improve distribution of hash codes in SQLBinary and SQLChar
> -----------------------------------------------------------
>
> Key: DERBY-3981
> URL: https://issues.apache.org/jira/browse/DERBY-3981
> Project: Derby
> Issue Type: Improvement
> Components: Newcomer, Performance, SQL
> Affects Versions: 10.4.2.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.5.0.0
>
> Attachments: d3981.diff, distinct-test.diff
>
>
> SQLBinary.hashCode() and SQLChar.hashCode() use a very simple algorithm that
> just takes the sum of the values in the array. This gives a poor distribution
> of hash values because similar values will have a higher probability of
> mapping to the same hash code, and the higher bits won't be used unless the
> array is very long. We should change these methods so that they use an
> algorithm similar to the one used in java.lang.String.hashCode(), described
> here:
> <URL:http://java.sun.com/javase/6/docs/api/java/lang/String.html#hashCode()>.
> This may have a positive effect on the performance of hash scans as it will
> reduce the likelihood of collisions in the hash table.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.