If you are using SQL Server, you can use the Database Engine Tuning Advisor . Quoted directly from TechNet, here are the options:
Recommend the best combination of indexes for databases using the query optimizer to analyze queries in a workload.
Recommend aligned or unrelated partitions for referenced databases in the workload.
Recommend indexed views for the databases referenced by the workload.
Analyze the impact of the proposed changes, including the use of the index, the distribution of queries between tables, and the performance of queries in congestion.
Recommend ways to configure the database for a small set of problem queries.
Allows you to customize the recommendation by specifying advanced ones such as disk space restrictions.
Providing reports summarizing the impact of implementing a recommendation for a given workload.
Consider alternatives in which you provide possible design options in the form of hypothetical configurations for the Tuning Engine Engine Tuning Advisor for evaluation.
user596075
source share