【发布时间】:2017-05-19 18:39:47
【问题描述】:
我最近遇到了一个问题,即 MySQL 查询的 EXPLAIN 计划发生了巨大变化,并对查询运行时间产生了负面影响。在我们努力解决这个问题的过程中,我们考虑将innodb_stats_sample_page 从 MySQL 的默认值 8 增加。在我的搜索过程中,我发现了有关这样做的利弊的文献,以及如何为此选择最佳值变量,但我无法找到任何关于 what sample page 实际上是的解释。
他们的目的很明确:
MySQL 查询优化器使用有关键分布的估计统计信息来根据索引的相对选择性为执行计划选择索引。某些操作会导致 InnoDB 从表上的每个索引中随机抽取页面以估计索引的基数。 (这种技术称为随机潜水。)这些操作包括 ANALYZE TABLE 语句、SHOW TABLE STATUS 语句以及重新启动后首次访问表。
page 并不能解释 sample page 的实际含义。那么,sample page 究竟是什么?
【问题讨论】:
-
您使用的是哪个版本的 MySQL?最近这方面发生了实质性的变化。
-
版本为5.5
标签: mysql performance optimization