[MDEV-204] Use the statistics from persistent statistical tables instead of the statistics provided by engine (MWL#250) Created: 2012-03-25  Updated: 2014-01-15  Resolved: 2014-01-15

Status: Closed
Project: MariaDB Server
Component/s: None
Fix Version/s: None

Type: Task Priority: Major
Reporter: Igor Babaev Assignee: Igor Babaev
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
is duplicated by MDEV-3806 Engine independent statistics Closed
Relates

 Description   

This task adds the functionality that allows optionally to use use the
statistics from persistent statistical tables [1] 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

[1] http://askmonty.org/worklog/?tid=250


Generated at Thu Feb 08 06:27:01 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.