In a special mode the ANALYZE command will collect statistics on table
cardinality, table columns and table indexes. This statistics will be stored in
system tables table_stat, column_stat and index_stat.
For any database table the system table table_stat will contain the number of
rows in the table.
For any table column the system table column_stat will contain min and max value,
the share of null values, the average length of a column value, and the the
average frequency of the column values.
For any index defined on a database table the system table index_stat will
contain number of records per every key prefix.
This task will be implemented in 3 steps:
1. A pure back-port of the WL#4777 from mysql-5.4 code line will be performed.
2. New possibility to collect statistics only on specified columns and/or
indexes will be added.
3. A new possibility to scan only a certain percentage of the table records in a
pseudo-random manner will be added.
The collected statistics is supposed to be used by the optimizer, but this will
be an objective of some other task. |