在mysql 5.6中,innodb_stats_on_metadata默认是关闭了这个会对INFORMATION_SCHEMA中的一些表进行查询操作,以方便索引统计信息,如果读要求高的建议关闭,见淘宝丁奇的http://t.cn/zWG9ikt一文;不过疑问是,mysql看上去用analyze命令去做oracle类似的直方图统计功能?
下面看下这个参数。首先,mysql innodb是在什么时候去做表的索引数据更新统计分析呢?
答案是:
1.Metadata commands like SHOW INDEX, SHOW TABLE STATUS and SHOW [FULL] TABLES (or their corresponding queries from INFORMATION_SCHEMA.TABLES and INFORMATION_SCHEMA.STATISTICS)
2.When 1 / 16th of the table or 2Billion rows has been modified, whichever comes first. ./row/row0mysql.c:row_update_statistics_if_needed
也就是说,当使用 SHOW INDEX, SHOW TABLE STATUS and SHOW [FULL] TABLES时,会自动更新统计信息,或者对应的从 INFORMATION_SCHEMA.TABLES和INFORMATION_SCHEMA.STATISTICS 表中查询时。
2 当2 百万条记录中的1/16记录变更后
要注意的是,如果生产环境上,大表大数据上,要谨慎做这些线上的数据统计分析,
道理和oracle的是一样的。但在Percona Server 的innodb_stats_auto_update
(http://www.percona.com/doc/percona-server/5.1/diagnostics/innodb_stats.html)
则可以进行参数设置。mysql 5.1以上,也有个参数叫
innodb_stats_on_metadata可以设置,percona中同时有innodb_stats_on_metadata
和innodb_stats_auto_update,如果要同时禁止,两个参数都要设置为0;
而在 InnoDB Plugin 中,可以设置一个开关:
SET GLOBAL innodb_stats_on_metadata=on(/off),这样就可以在运行期间去
动态设置了。
分享到:
相关推荐
InnoDB 是 MySQL 最常用的存储引擎之一,在 MySQL 5.6 中得到了显著的增强,特别是在性能和功能方面。 ##### 性能优化 1. **Read-Only Transactions(只读事务)**: - **第一层优化**:通过区分只读事务与更新...
MySQL5.6版InnoDB深度介绍。
在本文中,我们将深入探讨`mysql-5.5.6-rc`这一特定版本,它作为MySQL 5.6系列的一个早期候选发布(Release Candidate,简称RC),在MySQL 5.5的基础上引入了多项重要改进。 MySQL 5.5.6是向5.6稳定版过渡的关键...
《深入解析py_innodb_page_info:MySQL InnoDB存储引擎底层探索》 在数据库的世界里,MySQL的InnoDB存储引擎以其强大的事务处理能力和行级锁定机制而备受青睐。然而,对于其内部工作原理,许多开发者可能并不十分...
在尝试重启MySQL服务时,遇到了InnoDB引擎的恢复过程失败,报错显示日志序列号扫描过程中发生了错误,并且mysqld进程收到了信号11,这通常意味着可能出现了内存损坏、软件bug或者硬件问题。 二、问题分析 mysqld ...
MySQL 5.6 的基本优化配置是确保数据库高效运行的关键步骤。这涉及到调整配置文件 `my.cnf`,以优化内存使用、日志记录、事务处理速度和数据完整性。以下是一些重要的配置选项及其作用: 1. **InnoDB Buffer Pool**...
innodb_data_file_path用来指定innodb tablespace文件,如果我们不在My.cnf文件中指定innodb_data_home_dir和innodb_data_file_path那么默认会在datadir目录下创建ibdata1 作为innodb tablespace。 说明 在测试环境...
《MySQL技术内幕-InnoDB存储引擎》是一本深入探讨MySQL数据库InnoDB存储引擎的权威书籍,而`py_innodb_page_info.zip`则是该书中提到的一个实用工具,用于分析InnoDB存储引擎的数据页信息。这个Python工具帮助我们...
py_innodb_page_info工具为《INNODB存储引擎》作者姜承尧写的。 该工具用来分析表空间中的各页得类型和信息,用python编写。 网上多是python2版本的,这里给出python3版本的。
本文档包括的是mysql 5.6版的innodb的系统表的详细描述
在5.6版本中,InnoDB存储引擎得到显著增强,包括支持多线程并行插入,提高了插入性能;还有自适应哈希索引,自动优化内存分配,以及更好的行锁定机制,增强了并发处理能力。 4. **分区和分片**: MySQL 5.6引入了...
不仅介绍了MySQL 5.6的核心特性,还涵盖了部分不在所有版本中提供的高级功能。 #### 二、MySQL5.6核心特性与新增功能 - **MySQL5.6核心特性**: - 高性能与可扩展性:支持多核处理器优化、并行查询执行等特性。 ...
《Python解析MySQL InnoDB页面信息:py_innodb_page_info.py》 在数据库管理领域,深入理解存储引擎的内部工作原理对于优化查询性能和解决数据问题至关重要。MySQL的InnoDB存储引擎是广泛使用的,它提供了事务处理...
查看了下这个主键应该是MySQL系统库下的系统表innodb_index_stats mysql> show create table innodb_index_stats\G *************************** 1. row *************************** Table: innodb_index_s
在这个“mysql5.6_linux_64bit.rar”压缩包中,我们找到了适用于Linux 64位系统的MySQL安装程序。在本文中,我们将深入探讨MySQL 5.6在Linux环境中的安装、配置和使用。 首先,安装MySQL 5.6在64位Linux系统上通常...
如果未在`my.cnf`中设置,则InnoDB会使用MySQL的`datadir`目录作为默认值。如果设置为空字符串,可以在`innodb_data_file_path`中指定绝对路径。 - **应用场景**:适用于需要自定义InnoDB表空间存放位置的情况,例如...
MySQL 5.6 InnoDB Storage Engine Architecture
MySQL 5.6.50 是一个非常稳定且广泛使用的数据库管理系统版本,它在数据库社区中享有很高的声誉。本文将详细介绍如何使用提供的安装资源包进行MySQL 5.6.50的编译安装过程,以及在这个过程中可能遇到的关键知识点。 ...
整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。...