10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.2 kb
手册页(邮政编码)- 372.3 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

15.8.10.2配置非持久优化器统计参数

本节描述如何配置非持久优化器统计信息。时,优化器统计信息不会持久保存到磁盘innodb_stats_persistent =了或在创建或更改单个表时使用STATS_PERSISTENT = 0.相反,统计数据存储在内存中,当服务器关闭时将丢失。根据某些操作和某些条件,统计数据也会定期更新。

的优化器统计信息默认情况下持久化到磁盘innodb_stats_persistent配置选项。有关持久优化器统计信息,请参见第15.8.10.1节“配置持久优化器统计参数”

优化器数据更新

非持久优化器统计信息在以下情况下更新:

配置采样页面数

MySQL查询优化器使用估计统计数据关于为执行计划选择索引的键分布,基于相对选择性的索引。当InnoDB更新优化器统计信息,它从表上的每个索引中抽样随机页面来估计基数的索引。(这种技术被称为随机的潜水.)

为了控制统计估计的质量(从而为查询优化器提供更好的信息),可以使用该参数更改抽样页面的数量innodb_stats_transient_sample_pages.采样页面的默认数量是8,这可能不足以产生准确的估计,导致查询优化器的索引选择很差。中使用的大型表和表尤其重要连接.不必要的全表扫描因为这样的表可能会带来很大的性能问题。看到第8.2.1.23节“避免全表扫描”有关调优此类查询的技巧。innodb_stats_transient_sample_pages可以在运行时设置的全局参数。

的价值innodb_stats_transient_sample_pages影响所有索引采样InnoDB表和索引innodb_stats_persistent = 0.当您更改索引样本大小时,请注意以下潜在的重大影响:

  • 像1或2这样的小值可能导致对基数的不准确估计。

  • 增加了innodb_stats_transient_sample_pages值可能需要更多的磁盘读取。远远大于8(比如100)的值可能会导致打开表或执行的时间显著放缓显示表状态

  • 根据对索引选择性的不同估计,优化器可能会选择非常不同的查询计划。

任何价值innodb_stats_transient_sample_pages最适合于系统,设置选项并保持该值。选择一个对数据库中所有表进行合理准确估计的值,而不需要过多的I/O。因为统计信息会在不同的时间自动重新计算,而不是在执行分析表时,增加索引样本量没有意义,运行分析表,然后再次减少样本量。

较小的表通常比较大的表需要更少的索引样本。如果您的数据库有许多大表,请考虑使用更高的值innodb_stats_transient_sample_pages如果你的表大多较小。