1.1统计信息参数设置
在mysql5.6中已经实现,统计信息的持久化。
针对上面的两个问题mysql都有给出解决方案,并且都可能通过简单的配置来解决
1、针对是否持久化统计信息mysql可以通过innodb_stats_persistent参数来控制
mysql> show variables like 'innodb_stats_persistent';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| innodb_stats_persistent | ON |
+-------------------------+-------+
2、针对统计信息的时效性,mysql通过innodb_stats_auto_recalc参数来控制是否自动更新
mysql> show variables like 'innodb_stats_auto_recalc';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_stats_auto_recalc | ON |
+--------------------------+-------+
1 row in set (0.00 sec)
3、针对统计信息的准确性,mysql通过innodb_stats_persistent_sample_pages 参数来控制更新
MySQL [(none)]> show variables like 'innodb_stats_persistent_sample_pages';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| innodb_stats_persistent_sample_pages | 20 |
+--------------------------------------+-------+
1 row in set (0.00 sec)
注:更新才20%啊。
1.2统计信息参什么时候更新查看
mysql把统计信息相关的内容记录在mysql.innodb_table_stats ,mysql.innodb_index_stats 这两张表里面。
select * from mysql.innodb_table_stats
注:这个功能是特别的好。