2 ms·
Traditionally query optimizers are focused on producing good and not disastrous plans. Not necessarily the best plan. This is the role of a query optimizer: do
by nikita 4y ago
Traditionally query optimizers are focused on producing good and not disastrous plans. Not necessarily the best plan. This is the role of a query optimizer: do decently well and don't royally screw up. What makes optimizers to screw up is cardinality misestimations which leads to the wrong join order or wrong join types (nested loop join thinking that a subresult in a query plan is 3 rows where in reality it's 1M).
Optimizing physical layout presents new challenges:
- it takes time to build those layouts and consumes resources. nothing like adding a load to a database that's already struggling to keep up with the load :)
- you don't know what you are going to break
With all that said that's the future and the industry has to figure it out.