IP Library Granted Patent US 8,515,927
Granted Patent B2
US 8,515,927 · App. 13/225,230 · Granted Aug 20, 2013

Determining indexes for improving database system performance

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,515,927
App. No.
13/225,230
Granted
Aug 20, 2013
Kind
B2
Abstract

Methods and systems for identifying one or more indexes are described. A system can collect a set of database operations that were performed during a given time window. Next, the system can partition the set of database operations based on a set of database tables that were accessed by the set of database operations. Then, for each database table in the set of database tables, the system can determine a set of indexes that are candidates for improving database system performance. Next, based on the candidate indexes, the system can identify one or more indexes, one or more combinations of indexes, and/or a consolidated index that improve overall database system performance.

Claims (50)

1. A method for identifying one or more indexes for improving database system performance, the method comprising:

collecting a set of database operations that were performed during a given time window;

partitioning the set of database operations into partitions based on a set of database tables that were accessed by the set of database operations, wherein each partition includes database operations that accessed a given table; and

for each partition, performing the following set of operations:

determining a set of indexes that are candidates for improving database system performance;

identifying, based on the set of database operations in the partition, one or more indexes from the set of indexes that improve overall database system performance;

in response to determining that the set of indexes includes only one index, providing a recommendation to the user to add the index to the database table;

determining a consolidated index based on a set of combinations of indexes if multiple combinations of indexes were identified as improving overall database system performance; and

determining, based on the set of database operations that access the table, whether or not the consolidated index improves overall database system performance.

2. The method of claim 1 , wherein the set of operations further includes:

generating the set of combinations based on multiple indexes if multiple indexes were identified as improving overall database system performance; and

identifying, based on the set of database operations that access the table, one or more combinations from the set of combinations that improve overall database system performance.

3. The method of claim 1 , wherein the set of operations further includes:

in response to determining that only one combination from the set of combinations improves overall database system performance, providing a recommendation to the user to add the combination to the database table.

4. The method of claim 1 , wherein the set of operations further includes:

in response to determining that the consolidated index improves overall database system performance, providing a recommendation to the user to add the consolidated index to the database table.

5. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for identifying one or more indexes for improving database system performance, the method comprising:

collecting a set of database operations that were performed during a given time window;

partitioning the set of database operations into partitions based on a set of database tables that were accessed by the set of database operations, wherein each partition includes database operations that accessed a given table; and

for each partition, performing the following set of operations:

determining a set of indexes that are candidates for improving database system performance;

identifying, based on the set of database operations in the partition, one or more indexes from the set of indexes that improve overall database system performance;

in response to determining that the set of indexes includes only one index, providing a recommendation to the user to add the index to the database table;

determining a consolidated index based on a set of combinations of indexes if multiple combinations of indexes were identified as improving overall database system performance; and

determining, based on the set of database operations that access the table, whether or not the consolidated index improves overall database system performance.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the set of operations further includes:

generating the set of combinations based on multiple indexes if multiple indexes were identified as improving overall database system performance; and

identifying, based on the set of database operations that access the table, one or more combinations from the set of combinations that improve overall database system performance.

7. The non-transitory computer-readable storage medium of claim 5 , wherein the set of operations further includes:

in response to determining that only one combination from the set of combinations improves overall database system performance, providing a recommendation to the user to add the combination to the database table.

8. The non-transitory computer-readable storage medium of claim 5 , wherein the set of operations further includes:

in response to determining that the consolidated index improves overall database system performance, providing a recommendation to the user to add the consolidated index to the database table.

9. A system, comprising:

a processor; and

a non-transitory storage medium storing instructions that, when executed by the processor, cause the system to perform a method for identifying one or more indexes for improving database system performance, the method comprising:

collecting a set of database operations that were performed during a given time window;

partitioning the set of database operations into partitions based on a set of database tables that were accessed by the set of database operations, wherein each partition includes database operations that accessed a given table; and

for each partition, performing the following set of operations:

determining a set of indexes that are candidates for improving database system performance;

identifying, based on the set of database operations in the partition, one or more indexes from the set of indexes that improve overall database system performance;

in response to determining that the set of indexes includes only one index, providing a recommendation to the user to add the index to the database table;

determining a consolidated index based on a set of combinations of indexes if multiple combinations of indexes were identified as improving overall database system performance; and

determining, based on the set of database operations that access the table, whether or not the consolidated index improves overall database system performance.

10. The system of claim 9 , wherein the set of operations further includes:

generating the set of combinations based on multiple indexes if multiple indexes were identified as improving overall database system performance; and

identifying, based on the set of database operations that access the table, one or more combinations from the set of combinations that improve overall database system performance.

11. The system of claim 9 , wherein the set of operations further includes:

in response to determining that only one combination from the set of combinations improves overall database system performance, providing a recommendation to the user to add the combination to the database table.

12. The system of claim 9 , wherein the set of operations further includes:

in response to determining that the consolidated index improves overall database system performance, providing a recommendation to the user to add the consolidated index to the database table.

Assignments (10)
NUNC PRO TUNC ASSIGNMENT Recorded Feb 20, 2024
From: IDERA, INC.
To: CORECO IDERA OPS, INC.
Reel/Frame 066496/0733 →
CHANGE OF NAME Recorded Feb 20, 2024
From: CORECO IDERA OPS, INC.
To: IDERA, INC.
Reel/Frame 066626/0867 →
SECOND LIEN SECURITY AGREEMENT Recorded Oct 14, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036863/0137 →
FIRST LIEN SECURITY AGREEMENT Recorded Oct 13, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036842/0410 →
RELEASE OF SECURITY INTEREST Recorded Oct 12, 2015
From: FIFTH STREET MANAGEMENT LLC
To: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
Reel/Frame 036771/0552 →
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2015
From: COMERICA BANK
To: IDERA, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
Reel/Frame 036747/0982 →
SECURITY INTEREST Recorded Nov 25, 2014
From: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
To: FIFTH STREET MANAGEMENT LLC, AS AGENT
Reel/Frame 034260/0360 →
SECURITY INTEREST Recorded Sep 8, 2014
From: IDERA, INC.; PRECISE SOFTWARE SOLUTIONS, INC.; COPPEREGG CORPORATION
To: COMERICA BANK, AS AGENT
Reel/Frame 033696/0004 →
CHANGE OF NAME Recorded Jan 28, 2014
From: BBS TECHNOLOGIES, INC.
To: IDERA, INC.
Reel/Frame 032133/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2011
From: BAILEY, GEORGE E., JR.; GOOLSBEE, KURT V.; MISKELLY, EVERETT T.
To: BBS TECHNOLOGIES, INC.
Reel/Frame 026974/0506 →