mysql 统计信息记录

时间:2020-12-10 11:02:16   收藏:0   阅读:5

相关参数

计信息的持久化功能

  系统级---innodb_stats_persistent = ON

  表级- STATS_PERSISTENT = 1

统计信息的持久化优化自动计算

  系统级--innodb_stats_auto_recalc

    表级--STATS_AUTO_RECALC

持久化统计信息时包含被打上删除标记的记录

  系统级--innodb_stats_include_delete_marked

统计信息采样

  innodb_stats_persistent_sample_pages  默认为20

 

mysql> show global variables like %innodb_stats%;
+--------------------------------------+-------------+
| Variable_name                        | Value       |
+--------------------------------------+-------------+
| innodb_stats_auto_recalc             | ON          |
| innodb_stats_include_delete_marked   | OFF         |
| innodb_stats_method                  | nulls_equal |
| innodb_stats_on_metadata             | OFF         |
| innodb_stats_persistent              | ON          |
| innodb_stats_persistent_sample_pages | 20          |
| innodb_stats_sample_pages            | 8           |
| innodb_stats_transient_sample_pages  | 8           |
+--------------------------------------+-------------+
8 rows in set (0.01 sec)

 

 

统计信息的持久化优化手动计算

  ANALYZE TABLE

  FLUSH TABLE tbl_name    ---重新加载更新过后的统计信息

当某表添加新的索引时,无论系统参数innodb_stats_auto_recalc的值如何,都会触发重新计算索引统计信息(不是表及其数据相关统计信息)并将其添加到innodb_index_stats表中。

要想在添加索引时数据相关的统计信息同时更新到mysql.innodb_table_stats表中,需要启用系统变量innodb_stats_auto_recalc或者修改表的innodb_stats_auto_recalc建表选项,或者对表执行ANALYZE TABLE语句。

2.相关的表

 

innodb_table_stats

 

innodb_index_stats

 

从表中查询所得的数据中,我们可以看到:

索引大小的计算

SELECT SUM(stat_value) pages, index_name, SUM(stat_value)*@@innodb_page_size size FROM mysql.innodb_index_stats WHERE table_name=dept_emp AND stat_name = size GROUP BY index_name;           

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!