© 1985 by British Computer Society
The Performance of a Relational Interface to a Codasyl Database
Department of Computing Science, University of Aberdeen, King's College, Old Aberdeen, AB9 3UB, UK
A program generator (ASTRID) has been built which generates Fortran code to access records stored in a Codasyl database which satisfy a query written in a generalised relational algebra. The Join operation can be done either by using coset pointers or else by sort-merge. Also projection and grouping operations will require sorts to find and remove duplicate values if they cannot be accessed in sorted order.
A novel method of combining grouping and sorting operations via a sparse array technique is presented. Comparisons are made between this method and separate sorting followed by grouping; timings are given to show the significant advantage in practice.
A number of programs have been generated and run using different access paths, with and without sorts. Comparisons between timings and monitored page charges are made and heuristics suggested for predicting the best method. These are shown to be different from those used by Selinger et al. for the System R relational database.
* Now at SCICON, Berners Street, London.
Department of Computing Science, University of Aberdeen, King's College, Old Aberdeen, AB9 3UB