Abstract In this paper, a new hash join algorithm, the Dynamic Balancing Hash Join (DBJ), is proposed to handle the problem of skewed data in the join operation in multiprocessor database systems. The objective of this new algorithm is to avoid the high cost of preprocessing inherent in existing algorithms. The methods used include detecting the unbalanced output during the data partition process and overlapping the balancing process with the data partition process. The new algorithm only redistributes a small portion of the partitioned data and, thereby achieves a balanced output with little extra cost. Further, it balances the output dynamically and needs no knowledge of the input distribution. This is achieved without any need for a co-ordinating processor moreover. This algorithm has been fully implemented in a multiprocessor database system and a performance analysis is presented. The result shows that the new algorithm performs better than existing balancing hash join algorithms for a wide degree of skew.