1. For a database having plural tables, each of plural columns, stored in memory, a processor controlled method of generating indexes comprising: identifying importance values for individual database requests; and designing indexes to tables for the requests by identifying, by order of request importance, candidate indexes for requests, searching previously identified indexes for an index that is similar to each candidate index, and building upon previously identified indexes by reusing existing indexes and modifying existing indexes based upon match between indexes and upon importance values of requests for which the indexes are created.