Patent ID: 7512591

Claim:
A computer implemented method for improved processing time of a database system by continuous automatic background optimization of a cache memory that is fragmented into a plurality of cache fragments, the computer implemented method comprising: collecting indicators about efficiency of individual cache fragments by at least one of measuring a cache hit ratio of each cache fragment, measuring a processing time that a central processor unit (â€œCPUâ€) of the database system needs to prepare data in the individual cache fragments, and measuring execution time the CPU needs to process the data in accordance with a Structured Query Language (â€œSQLâ€) query, wherein the hit ratio, HRCURRENT, of a cache fragment, CF i , is measured as an indicator for the efficiency of the cache memory of a buffer pool according to HRCURRENT=(GETPAGESâˆ’SYNCRPAGES)/GETPAGES*100 where GETPAGES is a total number of pages read from the buffer pool, SYNCRPAGES is a total number of pages read synchronously from the buffer pool and an approximation function HR(CF i , CFSIZE) for the cache fragment hit ratio is computed according to HR(CF i ,CFSIZE)=100*(1âˆ’ e b * CFSIZE/PI ), where CFSIZE is a cache fragment size, PI is Ludolph's Constant, wherein for predicting the efficiency of the cache memory using the approximation function, the value for variable b for the exponential curve is determined, which describes a best buffer pool cache fragment behavior according to the measured hit ratio HRCURRENT, and by then knowing the variable b, the approximation function HR(CF i , CFSIZE) is used to determine at least one of a cache size and a cache fragmentation that provides a minimum of the processing times for the query processed; calculating approximation curves for measured values of each cache fragment based on the efficiency indicators; determining a combination of cache fragment sizes from the approximation curves that yields a highest system throughput; and changing the sizes of the cache fragments to match the combination of cache fragment sizes that yields a highest system throughput.