Closed klauck closed 4 years ago
Besides consistent examples, the approach allows testing algorithmns in advanced configurations, e.g., DropHeuristic with multi-column indexes, for which specifying costs manually is practically impossible.
In general, that looks good to me. It would be nice to have such a general solution. Are index sizes taken into account at all?
No, but can be added.
I am not sure if that makes it easy to test specific scenarios for the algorithms where more flexibility is needed: for example create indexes with high benefit and low costs and test the result and also create indexes with high benefit and high costs for another scenario
The approach is flexible, because you can specify and overwrite cost for each index combination. (We can discuss this offline.)
There are still some tests missings, and probably some improvements possible.
I added the fix for the max_indexes
and max_indexes_naive
problem we discussed on Monday. Can we assert anything there, like max_indexes_naive
< max_indexes
or similar?
Is this ready to merge apart from the merge conflict? I think it is
This is for discussion:
I would like to have a Mock Connector for testing with consistent what-if-call results. Unfortunate, even simple workload examples imply a huge number of index combinations, all of them having an own cache entry; and providing what-if-cost requires some programming which make the connector slightly complex. (Maybe there is a better way to specify costs for subsets of index combinations.)