А можно подробнее?
pk уникален, соот-но зачем по нему считать хеши? Чтобы на основе них разложить в бакеты? (но тогда нужно подбирать хеш, который генерирует максимум коллизий, получатся?)
Но потом речь идет про хеш джойн, а какой в нем смысл, если просто джойн по pk должен быть быстрее, так как он и уже индексирован (он же уникален) ?) + у нас получается каскад из джойнов на каждую колонку в таблице? Т.е. col<>col2, потом col3<>col4 и т.д?
Или pk это не primary key и я не правильно вас понял?