IP Library Granted Patent US 7,146,365
Granted Patent B2
US 7,146,365 · App. 10/353,138 · Granted Dec 5, 2006

Method, system, and program for optimizing database query execution

Assignee: International Business Machines Corporation
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 7,146,365
App. No.
10/353,138
Granted
Dec 5, 2006
Kind
B2
Abstract

Disclosed is a method, system, and program for database query execution. A range of data pages is assigned to each of multiple parallel tasks. For each of the multiple parallel tasks, the range of data pages is mapped to one or more physical partitions, and a data partitioned secondary index partition associated with each of the one or more physical partitions is identified. Each of the multiple parallel tasks is executed to process the database query against the assigned range of data pages using the one or more data partitioned secondary index partitions.

Claims (51)

1. A method for database query execution, comprising:

assigning a different range of data pages to each of multiple parallel tasks;

for each of the multiple parallel tasks,

mapping the assigned different range of data pages to one or more physical partitions; and

identifying one or more data partitioned secondary index partitions associated with each of the one or more physical partitions, wherein each of the one or more data partitioned secondary index partitions is a partition of a physically partitioned secondary index; and

executing each of the multiple parallel tasks to process the database query against the assigned different range of data pages using the one or more data partitioned secondary index partitions.

2. The method of claim 1 , wherein one data partitioned secondary index partition is associated with one physical partition.

3. The method of claim 1 , further comprising:

determining whether an access path using a data partitioned secondary index is to be used.

4. The method of claim 1 , further comprising:

determining whether a partitioning index is to be used; and

if the partitioning index is to be used, using the partitioning index to identify the one or more physical partitions in which data pages for one or more tables referenced in the database query reside.

5. The method of claim 1 , further comprising:

selecting a number of the multiple parallel tasks to be executed.

6. The method of claim 1 , wherein each range of data pages comprises a range of contiguous data pages for an entire physical partition.

7. The method of claim 1 , further comprising:

using a task structure associated with the database query, wherein each entry of the task structure stores a range of data pages assigned to one of the multiple parallel tasks.

8. A system for database query execution, comprising:

means for assigning a different range of data pages to each of multiple parallel tasks;

for each of the multiple parallel tasks,

means for mapping the assigned different range of data pages to one or more physical partitions; and

means for identifying one or more data partitioned secondary index partitions associated wit each of the one or more physical partitions, wherein each of the one or more data partitioned secondary index partitions is a partition of a physically partitioned secondary index; and

means for executing each of the multiple parallel tasks to process the database query against the assigned different range of data pages using the one or more data partitioned secondary index partitions.

9. The system of claim 8 , wherein one data partitioned secondary index partition is associated with one physical partition.

10. The system of claim 8 , further comprising:

means for determining whether an access path using a data partitioned secondary index is to be used.

11. The system of claim 8 , further comprising:

means for determining whether a partitioning index is to be used; and

means for, if the partitioning index is to be used, using the partitioning index to identity the one or more physical partitions in which data pages for one or more tables referenced in the database query reside.

12. The system of claim 8 , further comprising;

means for selecting a number of the multiple parallel tasks to be executed.

13. The system of claim 8 , wherein each range of data pages comprises a range of contiguous data pages for an entire physical partition.

14. The system of claim 8 , further comprising:

means for using a task structure associated with the database query, wherein each entry of the task structure stores a range of data pages assigned to one of the multiple parallel tasks.

15. An article of manufacture including instructions for database query execution, wherein the instructions cause operations to be performed, the operations comprising:

assigning a different range of data pages to each of multiple parallel tasks;

for each of the multiple parallel tasks,

mapping the assigned different range of data pages to one or more physical partitions; and

identifying one or more data partitioned secondary index partitions associated with each of the one or more physical partitions, wherein each of the one or more data partitioned secondary index partitions is a partition of a physically partitioned secondary index; and

executing each of the multiple parallel tasks to process the database query against the assigned different range of data pages using the one or more data partitioned secondary index partitions.

16. The article of manufacture of claim 15 , wherein one data partitioned secondary index partition is associated with one physical partition.

17. The article of manufacture of claim 15 , wherein the operations further comprise:

determining whether an access path using a data partitioned secondary index is to be used.

18. The article of manufacture of claim 15 , wherein the operations further comprise:

determining whether a partitioning index is to be used; and

if the partitioning index is to be used, using the partitioning index to identify the one or more physical partitions in which data pages for one or more tables referenced in the database query reside.

19. The article of manufacture of claim 15 , wherein the operations further comprise:

selecting a number of the multiple parallel tasks to be executed.

20. The article of manufacture of claim 15 , wherein each range of data pages comprises a range of contiguous data pages for an entire physical partition.

21. The article of manufacture of claim 15 , wherein the operations further comprise:

using a task structure associated with the database query, wherein each entry of the task structure stores a range of data pages assigned to one of the multiple parallel tasks.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044127/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 027005/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2003
From: ALLEN, TERRY DENNIS; DESAI, PARAMESH S.; SHIBAMIYA, AKIRA; TIE, HONG SANG; TSANG, ANNIE S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013720/0039 →
Continuity (1)
Related Publication 20040148273A1 · Jul 29, 2004