Patent ID: 7627587

Claim:
A method operative in a computer system for improving the performance of a database by determining whether or not to alter the fields of the database, having entities which hold a set of data values, said database including at least one set of linked entities, wherein the at least one set of linked entities contains a plurality of conceptual entities, each of the conceptual entities including a plurality of data values which are distributed amongst the plurality of the conceptual entities, comprising the steps of: (i) determining an average read/write ratio of the plurality of data values distributed amongst the at least one set of linked entities in the database; (ii) comparing the average read/write ratio of the database to a predetermined critical read/write ratio, so that said predetermined critical read/write ratio is calculated by carrying out the following steps: (iia) providing data with regard to the time taken to perform a read operation and a write operation on a first implementation of the said database wherein said first implementation of a database comprises at least one set of linked entities; (iib) providing data with regard to the time taken to perform a read operation and a write operation on a second implementation of the said database wherein the second implementation of the database comprises an aggregation of all data values stored in the at least one set of the linked entities; (iic) calculating a read time difference between the time taken to perform a read operation on said first implementation of said database and on said second implementation of said database; (iid) calculating a write time difference between the time taken to perform a write operation on said first implementation of said database and on said second implementation of said database; and (iie) calculating the ratio between the read time difference and the write time difference to determine the critical read/write ratio for the database; and (iii) if the average read/write ratio is greater than the critical read/write ratio, then performing the following method steps: (iiia) defining an additional entity table in the database; and (iiib) storing in the additional entity table an aggregation of said plurality of data values representing an aggregation of at least one of the plurality of conceptual entities, whereby the information defining the conceptual entity is obtained by performing a single read operation on the additional entity table; (iv) altering the fields of the database when said average read/write ratio is greater than said critical read/write ratio.