Due to more super-reduction output by most existing algorithms in finding all reductions, the technology of matrix rearrangement is improved in this paper, and an efficient algorithm for finding all reductions is designed, which uses improved matrix rearrangement many times to prune the power set of the attribute set more efficiently, and all of non-reduction and a majority of super-reduction are deleted. And a method for judging whether a subset of attributes is a super-reduction or not is also presented. Compared with existing algorithms, the proposed algorithm is more effective and can output fewer super-reduction.