Data allocation containers in a partitioned table of a computer database system for holding data based on usage
First Claim
1. A method for allocating data into data allocation containers in a partitioned table of a database comprising:
- utilizing a processor to execute computer codes comprising the steps of;
receiving a query to the partitioned table of the database;
selecting at least one row of data in the partitioned table specified by the query;
recording appropriate data regarding the usage of the row of data in the partitioned table by the query to use in allocation of the row of data into a plurality of data allocation containers (DACs) in the partitioned table by;
updating a counter for a number of queries made to the partitioned database table;
incrementing a counter for a number of times selected for each selected row by the query; and
computing a DAC selection ratio (DSR) for each selected row by the query from a quotient of the number of queries made to the partitioned table and the number of times selected; and
at an appropriate time interval moving the row of data accessed by the query from a current DAC to a different DAC in the partitioned table based on the recorded data regarding the usage of the row of data by the query.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method utilize partitioned database tables divided into data allocation containers (DACs) where data is placed into the DACs based on usage of the data in past queries. Records that are used most often are placed together and records that are used less often are placed together to improve database performance. In preferred embodiments, a database manager determines where to place data into the DACs based on how often the data is selected by a database query using a DAC selection ratio (DSR). The database manager may determine when to perform table maintenance to move rows of data to the appropriate DACs based on a timestamp or last check date (LCD) stored in the database.
-
Citations
13 Claims
-
1. A method for allocating data into data allocation containers in a partitioned table of a database comprising:
utilizing a processor to execute computer codes comprising the steps of; receiving a query to the partitioned table of the database; selecting at least one row of data in the partitioned table specified by the query; recording appropriate data regarding the usage of the row of data in the partitioned table by the query to use in allocation of the row of data into a plurality of data allocation containers (DACs) in the partitioned table by; updating a counter for a number of queries made to the partitioned database table; incrementing a counter for a number of times selected for each selected row by the query; and computing a DAC selection ratio (DSR) for each selected row by the query from a quotient of the number of queries made to the partitioned table and the number of times selected; and at an appropriate time interval moving the row of data accessed by the query from a current DAC to a different DAC in the partitioned table based on the recorded data regarding the usage of the row of data by the query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method for allocating data into data allocation containers in a partitioned table of a database comprising:
utilizing a processor to execute computer codes comprising the steps of; receiving a query to the partitioned table of the database;
selecting at least one row of data in the partitioned table specified by the query;recording appropriate data in the partitioned table regarding the usage of the row of data in the partitioned table by the query to use in allocation of the row of data into a plurality of data allocation containers (DACs) in the partitioned table comprising the steps of; updating a counter for a number of queries made to the partitioned database table; incrementing a counter for a number of times selected for each selected row by the query; computing a DAC selection ratio (DSR) for each selected row by the query from a quotient of the number of queries made to the partitioned table and the number of times selected; incrementing a counter for a number of times inspected that indicates how many times the row of data was inspected but not selected; and at an appropriate time interval moving the row of data accessed by the query from a current DAC to a different DAC in the partitioned table based on the recorded data regarding the usage of the row of data by the query. - View Dependent Claims (9, 10, 11, 12, 13)
Specification