A method is provided for generating a materialized view recommendation for at least one back-end server that is connected to a front-end server in a heterogeneous, distributed database system that comprises parsing a workload of federated queries to generate a plurality of query fragments; invoking a materialized view advisor on each back-end server with the plurality of query fragments to generate a set of candidate materialized views for each of the plurality of query fragments; identifying a first set of subsets corresponding to all nonempty subsets of the set of candidate materialized views for each of the plurality of query fragments; identifying a second set of subsets corresponding to all subsets of the first set of subsets that are sorted according to a dominance relationship based upon a resource time for the at least one back-end server to provide results to the front-end server for each of the first set of subsets; and performing a cost-benefit analysis of each of the second set of subsets to determine a recommended subset of materialized views that minimizes a total resource time for running the workload against the at least one back-end server.
展开▼