Asynchronous Database Index Maintenance
First Claim
1. A method comprising:
- receiving a query or data manipulation statement at a database management server, wherein the database management server utilizes one or more indexes to execute the statement;
determining, at the database management server, whether an index that is asynchronously maintained is to be utilized during execution of the statement;
determining, at the database management server, whether maintenance of the index is needed when the index is to be utilized during execution of the statement; and
performing maintenance of the index, at the database management server, before executing the statement.
2 Assignments
0 Petitions
Accused Products
Abstract
This disclosure provides techniques for asynchronously maintaining database indexes or sub-indexes. For example, a database management server may receive a data manipulation statement to modify particular data stored in a database and determine whether an index associated with executing the statement is maintained asynchronously. When the index is maintained asynchronously, maintenance of the index to reflect changes made to the particular data by executing the data manipulation statement may be delayed until an index maintenance event. The index maintenance may be based on an isolation level of a transaction including a query that triggered the index maintenance.
144 Citations
20 Claims
-
1. A method comprising:
-
receiving a query or data manipulation statement at a database management server, wherein the database management server utilizes one or more indexes to execute the statement; determining, at the database management server, whether an index that is asynchronously maintained is to be utilized during execution of the statement; determining, at the database management server, whether maintenance of the index is needed when the index is to be utilized during execution of the statement; and performing maintenance of the index, at the database management server, before executing the statement. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more computer-readable storage media including instructions that, when executed by a processing unit of a database management server, perform acts comprising:
-
receiving a current statement at the database management server, wherein the current statement is included in a transaction; identifying an index to be utilized to execute the current statement that requires maintenance, wherein the index includes at least one column of a database base table; identifying a particular row of a delta table that has not been applied to the index, wherein the delta table indicates changes to rows of the database base table; determining whether the particular row of the delta table is to be applied during maintenance of the index based on an isolation level of the transaction; and updating the index according to the particular row of the delta table before executing the current statement when the particular row is to be applied during index maintenance. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a processing unit; a database base table; an index maintenance group including; at least one index, wherein each index includes one or more specified columns of the database base table; a delta table indicating changes to one or more rows of the database base table; and an index control table indicating a last row of the delta table that has been applied to the at least one index; and an index maintenance module executable by the processing unit to asynchronously update a particular index of the index maintenance group according to one or more rows of the delta table. - View Dependent Claims (18, 19, 20)
-
Specification