14.6.11 Configuring Optimizer Statistics for InnoDB 配置优化统计信息用于InnoDB

来源:互联网 发布:分水岭分割算法原理 编辑:程序博客网 时间:2024/05/17 22:35
14.6.11 Configuring Optimizer Statistics for InnoDB  配置优化统计信息用于InnoDB14.6.11.1 Configuring Persistent Optimizer Statistics Parameters14.6.11.2 Configuring Non-Persistent Optimizer Statistics Parameters14.6.11.3 Estimating ANALYZE TABLE Complexity for InnoDB Tables这个章节描述了如何配置持久化和非持久化优化统一用于InnoDB表。持久化统计信息是在MySQL 5.6.2中介绍,在MySQL 5.6.6中默认为 (innodb_stats_persistent=ON). mysql> show variables like '%innodb_stats_persistent%';+--------------------------------------+-------+| Variable_name                        | Value |+--------------------------------------+-------+| innodb_stats_persistent              | ON    || innodb_stats_persistent_sample_pages | 20    |+--------------------------------------+-------+2 rows in set (0.00 sec)持久化优化统计信息是存在的在服务器重启后,允许更稳定的执行计划和更加一致性的查询性能。持久化优化统计信息也提供了控制和灵活性额外的好处mysql> show variables like '%innodb_stats_auto_recalc%';+--------------------------+-------+| Variable_name            | Value |+--------------------------+-------+| innodb_stats_auto_recalc | ON    |+--------------------------+-------+1 row in set (0.00 sec) 1. 你可以使用innodb_stats_auto_recalc 配置选项来控制是否统计信息是自动更新在表有大量的改变后2.你可以使用STATS_PERSISTENT, STATS_AUTO_RECALC, and STATS_SAMPLE_PAGES 子句在CREATE TABLE and ALTER TABLE statements来配置优化器统计信息对于单个表3.你可以查询优化器统计数据在mysql.innodb_table_stats and mysql.innodb_index_stats tables4.你可以查询 mysql.innodb_table_stats and mysql.innodb_index_stats tables的last_update列 来确认统计信息是否是最新的5. 你可以收到修改mysql.innodb_table_stats and mysql.innodb_index_stats tables 来强制一个特定的查询优化器执行计划或者测试替代的计划不需要修改数据库非持久化统计信息是在每次服务器重启后被清掉 ,重新计划在表的下一次访问。作为一个结果, 不同的评估被产生当重新计算统计信息, 导致不同的选项来在执行计划和查询性能的变化这个章节也提供了信息关于评估ANALYZE TABLE的复杂性, 这可能是有用的当尝试完成一个平衡在准备的统计信息和ANALYZE TABLE执行时间

0 0
原创粉丝点击