System and method for selective database indexing
First Claim
1. A method for selectively indexing a database, comprising:
- selecting a set of fields in the database, the fields located in one column of a table in the database;
determining the total time required for reading data from the fields during a selected time period if the fields are indexed;
determining the total time required for reading data from the fields during the selected time period if the fields are not indexed;
determining the total time required for writing data to the fields during the selected time period if the fields are indexed;
determining the total time required for writing data to the fields during the selected time period if the fields are not indexed; and
evaluating the total times required for reading and writing data to the fields to determine whether the fields should be indexed.
18 Assignments
0 Petitions
Accused Products
Abstract
A method for selectively indexing a database (32) includes selecting a set of fields (156) in the database (32). The selected fields (156) are located in one column (152) of a table (150) in the database (32). The method also includes determining the total time required for reading data from the fields (156) during a selected time period if the fields (156) are indexed and determining the total time required for reading data from the fields (156) during the selected time period if the fields (156) are not indexed. The method further includes determining the total time required for writing data to the fields (156) during the selected time period if the fields (156) are indexed and determining the total time required for writing data to the fields (156) during the selected time period if the fields (156) are not indexed. In addition, the method includes evaluating the total times required for reading and writing data to the fields to determine whether the fields (156) should be indexed.
-
Citations
22 Claims
-
1. A method for selectively indexing a database, comprising:
-
selecting a set of fields in the database, the fields located in one column of a table in the database;
determining the total time required for reading data from the fields during a selected time period if the fields are indexed;
determining the total time required for reading data from the fields during the selected time period if the fields are not indexed;
determining the total time required for writing data to the fields during the selected time period if the fields are indexed;
determining the total time required for writing data to the fields during the selected time period if the fields are not indexed; and
evaluating the total times required for reading and writing data to the fields to determine whether the fields should be indexed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
12. Software for selectively indexing a database, the software embodied in a computer-readable medium and operable to:
-
select a set of fields in the database, the fields located in one column of a table in the database;
determine the total time required for reading data from the fields during a selected time period if the fields are indexed;
determine the total time required for reading data from the fields during the selected time period if the fields are not indexed;
determine the total time required for writing data to the fields during the selected time period if the fields are indexed;
determine the total time required for writing data to the fields during the selected time period if the fields are not indexed; and
evaluate the total times required for reading and writing data to the fields to determine whether the fields should be indexed.
-
-
21. A method for selectively indexing a database, comprising:
-
selecting a set of fields in the database, the selected fields located in one column of a table in the database;
determining the number of reads of the selected fields during a specified time period;
determining the amount of read time required to read data from a particular one of the selected fields if the field is indexed;
multiplying the read time for the particular field by the number of reads of the selected fields during the time period to generate the total time for reading data if all the selected fields are indexed;
determining the amount of read time required to read data from a particular one of the selected fields if the field is not indexed;
multiplying the read time for the particular field by the number of reads of the selected fields during the time period to generate the total time for reading data if all the selected fields are not indexed;
determining the number of writes to the selected fields during a specified time period;
determining the amount of write time required to write data to a particular one of the selected fields if the field is indexed;
multiplying the write time for the particular field by the number of writes to the selected fields during the time period to generate the total time for writing data if all the selected fields are indexed;
determining the amount of write time required to write data to a particular one of the selected fields if the field is not indexed;
multiplying the write time for the particular field by the number of writes to the selected fields during the time period to generate the total time for writing data if all the selected fields are not indexed;
determining the absolute time difference between the total read time if the selected fields are indexed and the total write time if the selected fields are indexed;
determining the absolute time difference between the total read time if the selected fields are not indexed and the total write time if the selected fields are not indexed; and
indexing the selected fields if the absolute time difference with indexing is less than the absolute time difference without indexing.
-
-
22. Software for selectively indexing a database, the software embodied in a computer-readable medium and operable to:
-
select a set of fields in the database, the selected fields located in one column of a table in the database;
determine the number of reads of the selected fields during a specified time period;
determine the amount of read time required to read data from a particular one of the selected fields if the field is indexed;
multiply the read time for the particular field by the number of reads of the selected fields during the time period to generate the total time for reading data if all the selected fields are indexed;
determine the amount of read time required to read data from a particular one of the selected fields if the field is not indexed;
multiply the read time for the particular field by the number of reads of the selected fields during the time period to generate the total time for reading data if all the selected fields are not indexed;
determine the number of writes to the selected fields during a specified time period;
determine the amount of write time required to write data to a particular one of the selected fields if the field is indexed;
multiply the write time for the particular field by the number of writes to the selected fields during the time period to generate the total time for writing data if all the selected fields are indexed;
determine the amount of write time required to write data to a particular one of the selected fields if the field is not indexed;
multiply the write time for the particular field by the number of writes to the selected fields during the time period to generate the total time for writing data if all the selected fields are not indexed;
determine the absolute time difference between the total read time if the selected fields are indexed and the total write time if the selected fields are indexed;
determine the absolute time difference between the total read time if the selected fields are not indexed and the total write time if the selected fields are not indexed; and
index the selected fields if the absolute time difference with indexing is less than the absolute time difference without indexing.
-
Specification