1. A method of clustering, on one or more pages of secondary memory of a computer, an object set of a plurality of objects accessed by a query set of a plurality of queries, comprising the steps of: identifying each query in the query set and a subset of objects that each query accesses from the secondary memory; identifying the objects in the object set as being all of the objects contained by all the subsets of objects accessed by all of the queries in the query set; ranking each of the queries in the query set according to a query weight, the query weight being determined by a product of a number of times one application program runs on the computer with a number of times the query occurs in the application program, the product summed over a plurality of application programs capable of running on the computer; selecting a selected query from the query set according to the rank of the selected query; and packing the objects in a selected subset of objects on a page of one or more secondary memory pages if all of the objects in the selected subset of objects fit on the page, the selected subset of object being the subset of objects that the selected query accesses.
3. A method of clustering objects, as in claim 1, where the queries in the query set are ranked also by the number of objects that a query has in common with other queries in the query set, with objects being accessed by a fewer number of queries being cluster before objects being accessed by a greater number of queries.