Hi,
The minimal conditions needed for the Cost-Based Optimization of an execution plan are for the execution engine to:
1. Apply the static optimizations
2. Select the best execution plan based on the estimated cost of executing them with
a. Indexes of the queried tables in the database if the data comes from a database
b. Statistics about the views such as number of rows, number of NULL values, etc. The [Statistics of the View](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/creating_derived_views/advanced_configuration_of_views/statistics_of_the_view) document in the Virtual DataPort Administration Guide will provide further details on enabling the statistics that will be used by the cost-based optimization.
Please refer to [Enabling the Cost-Based Optimization](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/optimizing_queries/cost-based_optimization/enabling_the_cost-based_optimization#enabling-the-cost-based-optimization) and [Cost-Based Optimization](https://community.denodo.com/docs/html/browse/latest/en/vdp/administration/optimizing_queries/cost-based_optimization/cost-based_optimization) sections of the Virtual DataPort Administration Guide for more information on enabling the cost-based optimization.
The [Best Practices to Maximize Performance II: Configuring the Query Optimizer](https://community.denodo.com/kb/en/view/document/Best%20Practices%20to%20Maximize%20Performance%20II%3A%20Configuring%20the%20Query%20Optimizer) Knowledge Base article has more information on getting better performance from your queries with cost-based optimization.
Hope this helps!