Patent ID: 8688722

Claim:
A method of processing a sequence of outer joins in a database system that includes multiple processing units each executable by one or more processors, comprising: performing, by the multiple processing units of the database system, a first outer join of the sequence of outer joins; storing a result of the first outer join in a result table stored across plural storage modules of the database system; redistributing, by at least one of the multiple processing units to another one of the multiple processing units, at least a subset of records of the result table across the storage modules according to a first join attribute of the result table, wherein any record of the result table that has a null value for the first join attribute is not redistributed by the at least one of the multiple processing units to the other one of the multiple processing units, wherein the result table includes a first result table portion and a second result table portion, wherein the first result table portion contains records having the first join attribute assigned the null value, and the second result table portion contains records having a valid value for the first attribute, and wherein the redistributing at least the subset of records of the result table comprises redistributing the second result table portion without redistributing the first result table portion; and performing, by the one or more processors, a second outer join of the sequence using the redistributed result table and another table, wherein the second outer join is based on the first join attribute of the result table.