Patent ID: 7743052

Claim:
A method for managing a database in at least one computer system, comprising computer-executed steps of: maintaining, in the at least one computer system, a historical record of a set of queries which have been executed against said database, said historical record including, with respect to each of a plurality of executed query instances, that a respective temporary auxiliary database structure was generated to execute the respective query instance, said historical record being maintained by an automated process executing in said at least one computer system; maintaining, with respect to each query of a plurality of queries of said set of queries, a respective record of a set of hypothetical auxiliary database structures which would be useful in executing the respective query; receiving a specification of a first auxiliary database structure, wherein said first auxiliary database structure is a hypothetical auxiliary database structure which is not defined as part of said database; responsive to receiving a specification of said first auxiliary database structure, using said at least one computer system to access said historical record and to determine a subset of said set of queries therefrom, wherein each respective query of said subset is projected to execute more efficiently using said first auxiliary database structure than the respective query is projected to execute without using said first auxiliary database structure, said subset including each query of said set of queries for which a respective temporary auxiliary database structure matching said first auxiliary database structure was generated to execute one or more query instances of the respective query, wherein said step of determining a subset of said set of queries comprises examining each record of a plurality of said records of a set of hypothetical auxiliary database structures and identifying any queries for which the corresponding record of a set of hypothetical auxiliary database structures contains a hypothetical auxiliary database structure matching said first auxiliary database structure; and presenting data derived from results of said step of using said historical record to determine a subset of said set of queries to a user.