Empirical Results on Locality in Database Referencing

Database referencing behaviour is analyzed with respect to locality features. The analysis is based on database reference strings collected from several runs of typical batch programs accessing a real database. Locality of reference is measured by the stack distance probability distribution, the number of block faults, and a locality measure based on the memory reservation size. In all the experiments, locality of reference is observed, but it is found to be weaker than in code referencing or even in some previous studies on database referencing. The phase/transition concept used in virtual memory systems is not well applicable to database referencing, since a large part of the locality set is constantly changing. The disruption of the phases is predominantly due to random referencing of data blocks. The references to index blocks show stronger locality. In some special cases, sequentiality is observed in the use of the data blocks. In general, neither replacement strategies developed for virtual memory systems nor prefetching techniques seem adequate for performance improvement of database referencing.