The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Sep. 15, 2009
Filed:
Apr. 22, 2004
Cesar A. Galinda-legaria, Redmond, WA (US);
Goetz Graefe, Bellevue, WA (US);
Milind M. Joshi, Bellevue, WA (US);
Ross T. Bunker, Seattle, WA (US);
Cesar A. Galinda-Legaria, Redmond, WA (US);
Goetz Graefe, Bellevue, WA (US);
Milind M. Joshi, Bellevue, WA (US);
Ross T. Bunker, Seattle, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
A method of satisfying a database query includes evaluating certain joins on a per-segment basis. An expression tree is produced for the query, and the expression tree is evaluated to identify joins whose operands are two instances of the same relation and whose join predicate conjunctively includes an equality comparison between two instances of the same column. When such a join is identified, it may be evaluated by segmenting the operand relation according to the columns that are compared for equality in the predicate. The join is then evaluated by performing the join operation separately on each segment. Segments may be spooled separately, thereby exploiting the efficiencies obtained by spooling even where the entire relation is too large to fit in the spool. Execution iterators are provided for spooling successive segments and for applying the join to the spooled segment.