Automatic Maintenance of a Set of Indexes with Different Currency Characteristics in a Database Management System
First Claim
1. A computer-implemented method for maintaining a set of indexes in a database management system having at least one table, the method comprising:
- defining for at least a part of said indexes a status out of a group comprising a current status, a stale status, and a deferred status, resulting in at least a part of a set of current indexes, a set of stale indexes, and a set of deferred indexes in the database management system;
maintaining the set of current indexes by refreshing a current index synchronously together with a table change relating to the current index;
maintaining the set of stale indexes by refreshing a stale index continuously and asynchronously to table modifications relating to a table relating to the stale index based on log information relating to the table modifications; and
maintaining the set of deferred indexes by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current status for a time of the query to the table relating to the deferred index.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, for maintaining a set of indexes in a database management system (DBMS) having at least one table. A current, stale or deferred status is defined for at least a part of the indexes, resulting in at least a part of a set of current, stale, or deferred indexes in the DBMS. Current indexes are maintained by refreshing a current index synchronously with a table change relating to the current index. Stale indexes are maintained by refreshing a stale index continuously and asynchronously to table modifications of tables relating to the stale index based on log information relating to the modifications. Deferred indexes are maintained by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current query time status to the table relating to the deferred index.
51 Citations
22 Claims
-
1. A computer-implemented method for maintaining a set of indexes in a database management system having at least one table, the method comprising:
-
defining for at least a part of said indexes a status out of a group comprising a current status, a stale status, and a deferred status, resulting in at least a part of a set of current indexes, a set of stale indexes, and a set of deferred indexes in the database management system; maintaining the set of current indexes by refreshing a current index synchronously together with a table change relating to the current index; maintaining the set of stale indexes by refreshing a stale index continuously and asynchronously to table modifications relating to a table relating to the stale index based on log information relating to the table modifications; and maintaining the set of deferred indexes by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current status for a time of the query to the table relating to the deferred index. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A database management system having at least one table, the database management system being adapted for maintaining a set of indexes and comprising:
-
a defining unit operable to define, for at least a part of said indexes, a status out of a group comprising a current status, a stale status, and a deferred status, resulting in at least a part of a set of current indexes, a set of stale indexes, and a set of deferred indexes in the database management system; a first maintaining unit operable to maintain the set of current indexes by refreshing a current index synchronously together with a table change relating to the current index; and a second maintaining unit operable to maintain the set of stale indexes by refreshing a stale index continuously and asynchronously to table modifications relating to a table relating to the stale index based on log information relating to the table modifications; wherein the first maintaining unit is further operable to maintain the set of deferred indexes by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current status for a time of the query to the table relating to the deferred index.
-
-
12. A computer system comprising:
-
a database management system having at least one table, the database management system being adapted for maintaining a set of indexes and comprising; a defining unit operable to define, for at least a part of said indexes, a status out of a group comprising a current status, a stale status, and a deferred status, resulting in at least a part of a set of current indexes, a set of stale indexes, and a set of deferred indexes in the database management system; a first maintaining unit operable to maintain the set of current indexes by refreshing a current index synchronously together with a table change relating to the current index; and a second maintaining unit operable to maintain the set of stale indexes by refreshing a stale index continuously and asynchronously to table modifications relating to a table relating to the stale index based on log information relating to the table modifications; wherein the first maintaining unit is further operable to maintain the set of deferred indexes by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current status for a time of the query to the table relating to the deferred index; a processing unit adapted for processing data to operate the database management system; and a storage storing the at least one table and being accessible by the processing unit.
-
-
13. A computer program product for maintaining a set of indexes in a database management system having at least one table, the computer program product comprising:
-
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising; computer readable program code configured to define for at least a part of said indexes a status out of a group comprising a current status, a stale status, and a deferred status, resulting in at least a part of a set of current indexes, a set of stale indexes, and a set of deferred indexes in the database management system; computer readable program code configured to maintain the set of current indexes by refreshing a current index synchronously together with a table change relating to the current index; computer readable program code configured to maintain the set of stale indexes by refreshing a stale index continuously and asynchronously to table modifications relating to a table relating to the stale index based on log information relating to the table modifications; and computer readable program code configured to maintain the set of deferred indexes by building a deferred index in response to a query to a table relating to the deferred index, thereby bringing the deferred index in accordance with the current status for a time of the query to the table relating to the deferred index. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification