Status: Closed (View Workflow)
This task adds the functionality that allows optionally to use use the
statistics from persistent statistical tables  instead of the
statistics provided by engine.
It will allow
- to have stable execution plans (with InnoDB) in mysql-test
- to run DBT-3 benchmark (for InnoDB) without any hassle due to instability in chosen execution plans
- to repeat bugs reported by users, that are triggered by a specific query plan and sensitive to statistics.
- for this to work, it should be possible to populate statistical tables from the output of SHOW INDEX or have some other way of getting the statictics from a user.
- to implement any statstics that we need, without requiring engines to support it natively. For example, we can store the cardinality for non-indexed columns. Or correlations between two columns.
- to have identical plans on the master and on the slave
- to avoid "eight random dives" of InnoDB, that are considered expensive
- to have adequate statistics and query plans immediately after server startup, without (possibly long) warm-up time