I would be a little afraid of the return of raw EmployeeID s. Depending on the company, this can lead to clustering. One obvious picture is that when everything goes well, companies hire a lot of people. Then, when things are not going so well, they drive people away, mostly in the reverse order of seniority. Then, when everything is picked up again, they again hire more people.
This means that you will have relatively tightly filled runs, alternating with relatively sparsely populated runs. Although you are satisfied with the hash requirements and you have created a hash code very quickly, the performance of the hash table of these elements can be adversely affected.
source share