1. A system comprising: a first module adapted to receive a set of queries and to provide a set of candidate indexes for the set of queries, the first module adapted to eliminate one or more candidate indexes based on one or more predetermined criteria; and an optimizer adapted to generate a recommended index from the set of candidate indexes.