IP Library Granted Patent US 8,312,027
Granted Patent B2
US 8,312,027 · App. 13/489,094 · Granted Nov 13, 2012

Modular query optimizer

Assignee: Hewlett-Packard Development Company, L.P.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,312,027
App. No.
13/489,094
Filed
Jun 5, 2012
Granted
Nov 13, 2012
Kind
B2
Examiner
COBY, FRANTZ
Art Unit
2156
USPC
707/713
Abstract

Computer programs encoded on a computer storage medium provide for a modular query optimizer. In one aspect, a computer program product includes selecting one or more projections from a set of projections for each table in a database query wherein each of the selected projections for the table has leads to an estimated lower execution cost for the query as compared to non-selected projections; generating join orders for the query based on data distribution of one or more of the selected projections among sites in a computer network wherein the join orders reflect different combinations of data distribution operations applied to the output of one or more of the query's joins; and selecting a join order from the join orders based on evaluation of the join orders using a cost model.

Claims (22)

1. A computer-implemented method comprising:

for each table in a database query, selecting one or more projections that reduce an estimated cost for executing the query for the table, based on a segmentation or sort order of the selected projections;

based on a data distribution of one or more of the selected projections among sites in a computer network, generating, for the query, possible join orders that represent different combinations of data distribution operations applied to the outputs of one or more of the query's joins; and

evaluating the join orders based on a cost model.

2. The method of claim 1 wherein the estimated execution cost for the query is based on whether the selected projections allow for one or more local joins in an execution plan for the query.

3. The method of claim 1 wherein, in a join order, many-to-one joins occur before many-to-many joins.

4. The method of claim 1 wherein, in a join order, more selective joins occur before less selective joins.

5. The method of claim 1 wherein, a local join in a join order that occurs before a subsequent join that would destroy the locality of the local join is given the same order as the subsequent join.

6. The method of claim 1 wherein a data distribution operation is at least one of: re-segmentation according to a join key, broadcast, and filtering on a join key.

7. The method of claim 1 also comprising selecting a join order based on the evaluation.

8. The method of claim 7 in which selecting a join order further comprises selecting the join order with the lowest cost.

9. A computer program product, encoded on a computer-readable storage medium, including instructions operable to cause data processing apparatus to perform operations comprising:

for each table in a database query, selecting one or more projections that reduce an estimated cost for executing the query for the table, based on a segmentation or sort order of the selected projections;

based on a data distribution of one or more of the selected projections among sites in a computer network, generating, for the query, possible join orders that represent different combinations of data distribution operations applied to the outputs of one or more of the query's joins; and

evaluating the join orders based on a cost model.

10. The program product of claim 9 wherein the estimated execution cost for the query is based on whether the selected projections allow for one or more local joins in an execution plan for the query.

11. The program product of claim 9 wherein, in a join order, many-to-one joins occur before many-to-many joins.

12. The program product of claim 9 wherein, in a join order, more selective joins occur before less selective joins.

13. The program product of claim 9 wherein, a local join in a join order that occurs before a subsequent join that would destroy the locality of the local join is given the same order as the subsequent join.

14. The program product of claim 9 wherein a data distribution operation is at least one of: re-segmentation according to a join key, broadcast, and filtering on a join key.

15. The program product of claim 9 wherein the operations also comprise selecting a join order based on the evaluation.

16. The program product of claim 15 in which selecting a join order further comprises selecting the join order with the lowest cost.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2026
From: MICRO FOCUS LLC
To: ROCKET SOFTWARE, INC.
Reel/Frame 075795/0114 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
Continuity (3)
Division 12625482 · Nov 24, 2009
Provisional Application 61118370 · Nov 26, 2008
Related Publication 20120246147A1 · Sep 27, 2012