back

by gurjeet·4y ago·view on hn ↗
Just thought of this idea, let me know what you/others think. How about introducing a parameter that controls what percentage of time the frozen-plan will be used, and the rest of the time the regular optimizer will be allowed to create a new plan based on current data and statistics.

This will allow the users to choose the mix. So if I were to use this feature, I'd set it to use frozen-pan 90% of the time, and 10% of the time the most-current plan. This way, irrespective of whether the most current plan is better or worse than the frozen-plan, my application's performance will usually be as expected. But there would be spikes (upward or downward) on my dashboards, and I'd be inclined to investigate those spikes. Depending on what I find, I would either change/update the frozen plan, or increase the percentage even higher, to reduce the number of spikes in performance.